1
我的問題,我想debounce函數調用,但與函數的調用範圍有關。油門功能和事件委託
在我的示例中,我查找了事件委託點擊並消除了點擊次數。
這個工作,但debouncing不是元素特定的!
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}));
但如何改變油門功能這樣的工作?
還是有這個問題的更好的解決方案?
完整後能介紹一個庫?我建議underscorejs。它有一個debouncer和其他有用的函數委託包裝。 –
呃,那會很複雜。你爲什麼需要事件代表團?我真的推薦使用不同的功能,但將它們設置爲循環或其他。 – Bergi
好吧,我有一個解決方案! 如果範圍更改,則立即觸發該功能。 http://q1-code.info.shwups-cms.ch/de/libraries/q1/debounce-throttle-functions/? –