使用下划线_.debounce()触发单个事件
Using Underscore _.debounce() to trigger a single event
我有以下函数,它是从输入文本字段上的keyPress侦听器调用的。_.debounce()工作正常,除了在时间段之后只触发函数1次,它会在keyPress事件发生时触发多次。
console.log("Pre Debounce");
var debounced = _.debounce(function() {
console.log("Field updated!");
}, 2000);
debounced();
是否有办法限制_.debounce函数仅在时间段后触发1次?
可能每次都在事件内部构造debounce函数。如果是这种情况,那么将debounce函数置于事件响应代码之外。据我所知,debdedfunction应该只生成一次,然后多次调用。
另一件事,可能会变得奇怪的是,当你做一个异步调用(例如,与ajax自动完成),它需要比你的等待时间debounce然后请求可能会触发以后出现debounce是不工作。
有可能您的debounce函数执行的时间比用户键入的时间长。在这种情况下,您希望通过传递第三个参数(immediate)作为true来确保防止双重脱扣。
debounce函数签名为:_.debounce(function, wait, [immediate])
因此将代码改为:
console.log("Pre Debounce");
var debounced = _.debounce(function() {
console.log("Field updated!");
}, 2000, true);
debounced();
相关文章:
- 如何在没有jQuery的情况下模拟按名称命名的事件或解除单个事件的绑定
- 为什么我在单个事件上执行多个
- 将多个 Javascript 事件折叠为单个事件
- 绑定事件发射器上的单个事件
- 如何在 javascript 中对单个事件触发两个效果
- 取消委派单个事件
- jQuery多个DOM对象的单个事件
- 如何将多个方法绑定到单个事件
- 单个事件的多个JQuery效果
- 是否可以在FullCalendar中的[]事件中设置单个事件的颜色?
- 使用不显眼的javascript从单个事件调用多个函数
- 将单个事件附加到存储在数组中的多个元素,原生JS
- 如何在Javascript中为单个事件调用多个函数
- 围绕多个JS文件的代码包装单个事件?(铁路)
- 使用下划线_.debounce()触发单个事件
- 单个事件上的多个事件处理程序.Trigger或event.delegate
- 为页面中任何元素生成的自定义事件提供单个事件侦听器
- 在JavaScript中将一系列DOMNodeInserted事件作为单个事件进行处理
- jQuery:绑定一个可以处理其子级事件的单个事件侦听器
- 为什么我不能在 Backbone 的视图事件中的一个语句中将单个事件绑定到多个选择器