检测鼠标在单击时的移动,并检测双击
Detect move of mouse while clicked and detect doubleclick
目前,当一个人点击画布时,以及当一个人单击并拖动某物时,我已经实现了不同的操作。我通过将mousedown
事件绑定到画布来实现这一点,在该函数中,拖动和mouseup
是有区别的。这非常有效,但当我还想支持双击元素时,我遇到了一个问题。
实现这一点的正常方式如下:
$(canvas).click(function1);
$(canvas).dblclick(function2);
但我没有这样实现,因为我必须检查鼠标是否移动(即拖动)。这是我目前的实现方式:
var handler = {
clicked:function(e){
...
$(canvas).bind('mousemove', handler.dragged);
$(window).bind('mouseup', handler.dropped);
},
dragged:function(e){
...
},
dropped:function(e){
function loop(ctr){
if (ctr < 50) {
setTimeout(function(){loop(ctr+1)}, 2);
} else {
$(canvas).mousedown(handler.clicked);
handler.singleClick(e);
}
}
$(canvas).mousedown(handler.doubleclicked);
loop(0);
},
doubleClick: function(e){
...
},
singleClick: function(e){
...
}
}
$(canvas).mousedown(handler.clicked);
我试图通过实现drop函数来结合这两件事(识别拖动和双击),该函数等待一段时间来侦听另一次单击,如果在这段时间内没有发生,则转到singleclick
函数。目前,它还没有识别出第二次点击。
我想有更好的方法可以做到这一点吗?
您可能需要查看以下内容:
http://threedubmedia.com/code/event/drag
除了.click()
和.dblclick()
之外,它还为您提供了额外的功能.drag()
。
还有一个下降版本:
http://threedubmedia.com/code/event/drop
相关文章:
- 使用类从一个标记中双击事件
- onclick函数需要双击,因为类分配延迟
- 了解双击代码标记
- jquery Onclick函数带有导致双击的回调排序函数
- 防止双击执行两次jQuery post请求
- JavaScript双击事件
- 选择“字符串”并使用SeleniumJava双击
- jQuery UI自动完成需要在iOS上双击
- 使用jquery在html中添加双击操作
- 双击泛光灯单击
- 如何在Firefox中禁用视频的单击和双击控件
- 双击可更改树标签
- 如何检测双击是否要提供AD
- 如何使用Firefox SDK(用于插件)检测双击选择的文本
- 我们如何检测元素外部的双击
- 如何检测发布商 DFP 广告的 Google 双击的加载状态
- 检测鼠标在单击时的移动,并检测双击
- phonegap:是否有可能从Javascript中检测到双击滑动
- 我可以查询/检测网页用户的双击速度吗?
- Android如何检测双击