1. ホーム
  2. jquery

[解決済み] jQueryで「ドラッグ」を検出できるか?

2022-08-28 08:15:44

質問

ユーザーがリンクをクリックしたときに表示されるスロッバーがあります。

問題は、同じリンクをクリックし、ドラッグして並べ替えることができることです。この場合、スロッバーは表示する必要がありません。実際にどこかに行くのを待っている場合にのみ、表示される必要があります。

jQuery を使用して、以下のようなイベントリスナーを作成するにはどうすればよいでしょうか。 リンクへのクリックがあった場合のみ、スロッバーが表示されるようにします。 というイベントリスナーを作成できますか?

どのように解決するのですか?

マウスダウンで状態の設定を開始し、mousemoveイベントが発生したらそれを記録し、最後にマウスアップで、マウスが動いたかどうかをチェックします。移動した場合は、ドラッグしていることになります。動いていなければ、それはクリックです。

var isDragging = false;
$("a")
.mousedown(function() {
    isDragging = false;
})
.mousemove(function() {
    isDragging = true;
 })
.mouseup(function() {
    var wasDragging = isDragging;
    isDragging = false;
    if (!wasDragging) {
        $("#throbble").toggle();
    }
});

以下はデモです。 http://jsfiddle.net/W7tvD/1399/