Observable from venet mouseup是不准确的
Observable fromEvenet mouseup is not accurate
使用此代码,您可以向左和向右拖动蓝线,拆分两个内容。问题是,如果我按住鼠标并快速移动到其中一侧并松开鼠标,它仍然是活动的。
所以take until没有执行,还是有其他问题?
var split = $('.drag');
var parent = $('.Container');
var mouseDowns = Rx.Observable.fromEvent(split, "mousedown");
var parentMouseMoves = Rx.Observable.fromEvent(parent, "mousemove");
var parentMouseUps = Rx.Observable.fromEvent(parent, "mouseup");
var drags = mouseDowns.flatMap(function(e){
return parentMouseMoves.takeUntil(parentMouseUps);
});
drags.subscribe(function(e) {
var $containerWidth = $('.Container').width();
var clientX = $containerWidth - e.clientX;
if (clientX >= 50 && e.clientX >= 50) {
$('.left').css('right', clientX);
$('.right').css('width', clientX);
}
});
jsbin.com 所以问题是你只在父级上监听鼠标事件,这是你的.Container
,但是当你快速移动鼠标向左或向右,这样它就会离开容器,你释放鼠标,鼠标事件在那里注册,而不是在.Container
上。
解决这个问题的一种方法是监听整个页面的鼠标活动。
//....
var parentMouseMoves = Rx.Observable.fromEvent(parent, "mousemove");
var parentMouseUps = Rx.Observable.fromEvent($('html'), "mouseup");
//....
我已经修改了你的代码,这是预期的工作,检查它在这里Jsbin
相关文章:
- 在 JavaScript 中对音频文件进行计时不准确
- 谷歌地图API-缩小时默认标记不准确
- Socket.io 设置间隔不准确
- CreateJS的PreloadJS进度事件不准确
- kineticjs - 鼠标悬停不准确
- 使用 javascript 库 draw2d 选择连接链接不准确
- 为什么在枚举属性/函数时键长度不准确
- JSON 字符串有效,但 JSON 数据不准确
- 计算何时多次写入文件会导致不准确
- 纹理帧缓冲区数据不准确
- Javascript减去数字是不准确的 - 为什么
- HTML5:矩形定位不准确
- 这 === 是否不适用于浮点舍入不准确的 b/c
- 碰撞检测在我的游戏中不准确
- setInterval上的计时;看起来不准确
- 与Async nodejs相关的问题-给出不准确的响应
- Promisejs不准确,$getJSON在循环中
- node.js下javascript中的日期函数不准确
- HTML5 audio - currentTime属性不准确
- Observable from venet mouseup是不准确的