0
因为我已经实施了不同的操作,当人们点击画布时以及某人点击并拖动某物时。我通过将mousedown事件绑定到我的画布来实现这一点,并在该功能中实现了拖动或鼠标移动之间的区别。这很有用,但是当我也想支持对元素进行双击时,我遇到了问题。检测鼠标点击时的移动,并检测双击
来实现这一点的正常的方式是这样的:
$(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);
我想这两件事情结合起来(识别拖放doublclick的)通过实施删功能,等待一段时间,以监听再点击一下,如果没” t发生在那段时间内,它进入singleclick函数。目前尚未识别第二次点击。
我认为有更好的方法来做到这一点? 在此先感谢
你有这个插件的经验吗?当我想在我的代码中使用它时,我从插件的这段代码中得到一个错误:'//切换文本选择属性ON(true)或OFF(false)text select:function(bool){ \t \t $(文档)[bool? “解除绑定”: “绑定”( “选择开始”,drag.dontstart) \t \t \t .attr( “不可选择”,布尔 “关”: “上”) \t \t \t的CSS( “MozUserSelect”,布尔? ““ : “没有” ); \t}' 我把它叫做例子:[http://threadubmedia.com/demo/drag/] '$(div).bind('drag',function(event){alert(“test “);});' – Consec 2012-01-11 15:43:40