1. ホーム
  2. javascript

[解決済み] jQueryのデバウンス機能

2022-03-02 22:49:36

質問

Ben Alman氏のjquery debouncing libraryを使用して、ボタンの入力をデバウンスしようとしています。 http://benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/

現在、私が持っているコードはこれです。

function foo() {
    console.log("It works!")
};

$(".my-btn").click(function() {
    $.debounce(250, foo);
});

問題は、ボタンをクリックしても、関数が実行されないことです。何か誤解しているのか分かりませんが、私が見る限り、私のコードは例と一致しています。

解決方法は?

私も同じ問題にぶつかりました。この問題は、デバウンス関数が、どこにも呼び出されていない新しい関数を返すために起こっています。

これを解決するには、jqueryのクリックイベントのパラメータとして、デバウンス関数を渡す必要があります。以下は、そのコードです。

$(".my-btn").click($.debounce(250, function(e) {
    console.log("It works!");
}));