1. ホーム
  2. javascript

[解決済み] jQueryでクリック&ホールドをリッスンするには?

2022-09-19 08:50:53

質問

ユーザーがボタンをクリックしたときにイベントを発生させ、そのクリックを1000~1500msの間保持できるようにしたい。

これを可能にするjQueryコアの機能またはプラグインはすでにあるのでしょうか?

自分で作った方がいいのでしょうか?どこから始めるべきでしょうか?

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

var timeoutId = 0;

$('#myElement').on('mousedown', function() {
    timeoutId = setTimeout(myFunction, 1000);
}).on('mouseup mouseleave', function() {
    clearTimeout(timeoutId);
});

編集 : AndyEによる修正...ありがとうございます!

編集2 現在、gnarfごとに同じハンドラを持つ2つのイベントに対してbindを使用しています。