我有一個可拖動像這樣:在jQuery UI中拖延後拖動拖動而不必移動鼠標?
$(".tab li").draggable({
revert: true,
delay: 1000,
opacity: .75,
helper: "clone",
appendTo: "body"
})
.bind("dragstart", this.doSomething)
.bind("dragstop", this.undoSomething);
所以,按住鼠標一秒鐘後,拖動就可以開始。只要您在1秒後移動鼠標,此工作正常。立即在移動鼠標時,dragstart事件就像它應該發送一樣。我想要的是'dragstart'在1秒後觸發,即使你不拖動鼠標。
我知道我可以做到這一點:
.bind("mousedown", this.setSomeIntervalAndWait)
,但我需要訪問該作爲的可拖動部分(),所以鼠標按下/鼠標鬆開液將無法創建ui.draggable元素。
這可能沒有修改jQueryUI觸發延遲而不是鼠標移動的事件?我可以使用超時方法破解一些沒有問題的東西,克隆對象,定位它,並在'dragstart'上刪除它,但我希望能減少一些錯誤。
即使用戶沒有拖動,你也想讓dragstart啓動?這沒有多大意義。 – jbabey 2012-07-09 17:53:13
在這種情況下,拖動HAS是因爲他們已經完成了延遲標準,但當然你會比我更瞭解我的應用程序,不是嗎?如果你沒有建設性的答案,不要浪費你的時間,時間和以後可能有同樣問題的人的時間。 – oooyaya 2012-07-09 17:57:46
我想問的是,你試圖用這個新的dragstart功能實現的目標是什麼?也許有一種更簡單的方法,你沒有想到。 – jbabey 2012-07-09 18:02:29