私の問題、関数呼び出しをデバウンスしたいのですが、関数が呼び出されるスコープに関連しています。
私の例では、イベントによって委任されたクリックを探して、クリックをデバウンスします。
これは機能しますが、デバウンスは要素固有ではありません!
http://jsbin.com/itapuf/2/edit
エレガントな方法はありますか?
編集: より具体的には(私の英語は最高ではありません)
このコードを置き換えたい:
$('#blue').on('click',function(id){
addBeep('trigger');
}.throttle(300) );
$('#green').on('click',function(id){
addBeep('trigger');
}.throttle(300) );
これにより(イベント委任):
$('#btns').on('click','button', function(id){
addBeep('trigger');
}.throttle(300) );
しかし、そうすると、特定の要素に対する最新のクリックが失われる可能性があります。
次のようなものが必要です:
$('#btns').on('click','button', function(id){
addBeep('trigger');
}.throttle(300, {bindToScopt:true} ) );
しかし、スロットル機能をこのように変更するにはどうすればよいでしょうか?
または、この問題に対するより良い解決策はありますか?