Jquery UI では、呼び出すことで要素をドラッグ可能として構成できます
$("#drag").draggable();
しかし、ドラッグ機能を別の機能から手動で開始および停止する方法はありますか? いえ
someOtherFunction = function() {
$("#drag").startdrag();
}
yetAnotherFunction = function() {
$("#drag").stopdrag();
}
Jquery UI では、呼び出すことで要素をドラッグ可能として構成できます
$("#drag").draggable();
しかし、ドラッグ機能を別の機能から手動で開始および停止する方法はありますか? いえ
someOtherFunction = function() {
$("#drag").startdrag();
}
yetAnotherFunction = function() {
$("#drag").stopdrag();
}
上記の答えは複雑すぎるようです。
$('.nonDraggableObjectWhichTriggersDrag').mousedown(function(e) {
$('.draggableObject').trigger(e);
});
ドラッグを手動でトリガーする方法は見つかりませんでしたが、同様の状況の回避策を見つけました。
この状況では、2 つの重なり合う画像 (下の画像を参照) があり、どちらも部分的に透明です。ドラッグ可能な start(event) で、透明なピクセルにヒットするかどうかを確認したかったのです。もしそうなら、私はその下にある別の要素を調べて、その要素がヒットしたかどうかを確認しました. もしそうなら、私はそのドラッグを開始したかった.
解決?マウスムーブで画像を並べ替えると、その一番上の画像に対してドラッグ可能がトリガーされます。
ピクセル単位の正確な要素の選択については、私の別の回答を参照してください: registering clicks on an element that is under another element
ドラッグを停止するには、次のようなドラッグ コールバックで false を返す必要があります。
$("#unlock-handle").draggable({axis:'x', containment:'parent', drag:onDrag});
...
var onDrag = function(e) {
if ($(this).position().left > 200) return false;
};
それが役に立てば幸い :-)