2012-02-26 74 views
0

我希望能夠點擊或雙擊也可拖動的元素。如何才能做到這一點?我嘗試了各種點擊(),dblclick()和其他方法,迄今爲止還沒有工作。用jQuery單擊或雙擊一個可拖動的元素?

我目前有一個比較毫秒之間mouseup和mousedown事件尷尬的解決方法,但這仍然需要元素被拖動至少一個像素。

我希望能夠像按鈕一樣點擊它,而不必先拖動它。

回答

0

假設你不介意一個子元素,獲得的點擊次數,可拖動外的元素,那麼這種方法可以採取:

$('#draggableDiv').draggable(
    { 
     cancel : 'a' 
    }); 

JS Fiddle demo

cancel選項使用CSS/jQuery選擇器來確定哪些元素不應被視爲拖動事件的觸發器。


編輯解決的事實是,至少在Chromium 16/Ubuntu的11.04,元素出現是點擊的雙擊,能夠拖動都在同一時間: JS Fiddle example

+0

這個偉大的工程,謝謝! – Pryomancer 2012-02-28 21:44:50

+0

你非常歡迎;很高興得到了幫助! =) – 2012-02-28 21:59:29

1

您可以使用短暫的延遲來防止隨意拖動只需點擊。

$('.draggable').draggable({ delay: 200 }); 
+0

非常感謝,這完美的作品。 – Pryomancer 2012-02-27 18:24:24

0

無論是其他兩種解決方案,爲我工作的,下面做:

$('#draggableDiv').mousedown(function() { 
    var thisone=$(this); 
    setTimeout(function(){ 
     thisone.attr("draggable","true"); 
    },200); 
});