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