underscore.jsのdebounce
調べてたのメモしておく
underscore.jsのdebounceを使うと、関数の実行を遅らせることができる
以下の例だと、a.some_classをクリックした500ミリ秒後に関数が実行される。
連続してクリックすると、最後にクリックした時間の500ミリ秒後に1度だけ実行される。
$('a.some_class').on('click', _.debounce(function(e){ console.log('clicked!'); }, 500));
3つめの引数(immediate)にtrueを渡すと関数はすぐに実行される。
500ミリ秒を開けずに連続してクリックし続けている場合は、2度めの関数実行が行われない。
$('a.some_class').on('click', _.debounce(function(e){ console.log('clicked!'); }, 500, true));
文章で書くとわかりづらいけど、動かすとわかる。