2017-06-13 81 views
0

我有一個onclick()事件DIV:jQuery的可拖動的元素 - 在移動小的運動 - 防止的onclick火

<div id="my_div" onclick="alert('you clicked me')"></div> 

當我添加一個jQuery可拖動到該div:

$(function() { 
    $("#my_div").draggable(); 
}); 

它工作正常在瀏覽器中。 但隨着移動;

  • 用戶 - 在移動設備上點擊div - div移動的數量非常少。
  • 現在onclick不會觸發。

這是典型的嗎?或一些CSS問題? 看來你必須非常仔細地點擊。我會期望大多數人會稍微移動他們的手指,並且通常會有一些小動作。

如何確保onclick在移動設備上觸發 - 無論移動量如何?

回答

1

處理點擊/點按和拖動事件的差異在設備上非常大,結果是:沒有人將兩個元素都附加到單個元素。嘗試找到一個例子。如果你這樣做,考慮測試它跨越設備/跨瀏覽器。

「默認」解決方案是提供一個「拖動手柄」控制的元件(其應符合至少一個手指 - 分鐘40像素* 40像素 - 通常含有移動圖標)。並且只能從拖動控制柄啓動時爲元素啓用可拖動行爲。當然,如果你想讓你的手柄變大一點,這個元素可以是一個稍微大一點的父母的「拖動手柄」,除了元素還包含一個動作欄(它不會啓動任何拖動動作,但是,而不是你選擇的行爲)。

相關問題