私は次のようにドラッグ可能です:
$(".tab li").draggable({
revert: true,
delay: 1000,
opacity: .75,
helper: "clone",
appendTo: "body"
})
.bind("dragstart", this.doSomething)
.bind("dragstop", this.undoSomething);
そのため、マウスを 1 秒間押した後、ドラッグが開始される場合があります。これは、1 秒後にマウスを動かしていれば問題なく機能します。マウスを動かすとすぐに、dragstart イベントが送出されます。私が望むのは、マウスをドラッグしなくても 1 秒後に「dragstart」がトリガーされることです。
私はこれを行うことができることを知っています:
.bind("mousedown", this.setSomeIntervalAndWait)
しかし、draggable() の一部として作成された ui.draggable 要素にアクセスする必要があるため、mousedown/mouseup ソリューションは機能しません。
マウスの動きの代わりに遅延時にイベントをトリガーするようにjQueryUIを変更せずにこれは可能ですか? タイムアウトを使用して問題なく何かをハックし、オブジェクトを複製し、配置して「ドラッグスタート」で削除することはできますが、複雑でないことを望んでいます。