iLe*_*ing 4 frp reactive-extensions-js rxjs bacon.js
我需要实现一个行为:
我想我知道如何捕捉点击和保持类型的事件,但如何区分第一和第二?
你能告诉我如何使用这个jsbin做到这一点.我已经完成了"点击,按住并拖动"部分,除了它在拖动元素后仍然触发'click'事件,它不应该.
再次:单击元素 - 一个事件,单击并按住 - 元素可拖动(即使在鼠标向上),再次单击时,它将恢复正常(不可碎片)状态.
我不是在寻找一个简单的解决方案,它必须使用Rx.Observable或至少使用培根的streamEvent对象
谢谢
我认为你的解决方案非常接近,但是在使用浏览器的内置click事件时,可能无法优雅地达到你想要的效果.
HERE 是我试图解决你的问题.
主要思想是定义您自己的点击流,如下所示:
var clicks = downs.flatMapLatest(function(){
return ups.takeUntil(Rx.Observable.timer(250));
});
var longDownsStart = downs.flatMapLatest(function(){
return Rx.Observable.timer(1000).takeUntil(ups);
});
Run Code Online (Sandbox Code Playgroud)
如果clicks我们在鼠标按下鼠标后等待最长250毫秒; 如果是后者,我们只有在1000毫秒内没有鼠标上升时才会生成事件.
可能存在一些极端情况,其中代码无法按预期工作.
| 归档时间: |
|
| 查看次数: |
579 次 |
| 最近记录: |