我在页面上有4个输入和这样的代码
$('input').on('keyup', _.debounce(function(){
console.log('Keyup fired')
}, 10000))
所以在$('输入')中我收集了4个输入。 当我开始快速输入所有4个输入时,10秒后我只得到一个' Keyup被解雇'在控制台中。
似乎每个输入都共享相同的功能。 但在我看来,每个输入都应该有它自己的_debounce函数实例。
为什么我错了?根据我的观点,为什么我写COLLECTION.on(event,fn)。 Jquery应映射4个输入并为每个输入分配调用_.debounce()的结果。因此每个输入都有自己的去抖功能实例。 谢谢
答案 0 :(得分:4)
似乎每个输入共享相同的功能。
当然,因为您为所有输入提供了单个事件处理程序。
如果你想要单独的处理程序,那么你需要单独为每个输入绑定事件:
$('input').each(function() {
$(this).on('keyup', _.debounce(function() {
console.log('Keyup fired')
}, 10000))
})