JS的监听多次触发执行最后一次方法

Posted 嘻嘻哈哈大只佬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS的监听多次触发执行最后一次方法相关的知识,希望对你有一定的参考价值。

我的应用场景:监听icheck的每次勾选直接查询数据

 

 然后每次勾选都会执行多次(因为我使用了ifChanged监听,所以每一项改变都会执行我的方法)

$("input").on("ifChanged",function(event) {this.queryDataNew();
  }.bind(this));

 

解决办法:先定义一个暂存延时方法的参数,每次执行请求前都先清空上一次的延时

var that = this;
$("input").on("ifChanged", function(event) { clearTimeout(that.queryTime); that.queryTime = setTimeout(function() { that.queryDataNew(); }, 100); });

 

以上是关于JS的监听多次触发执行最后一次方法的主要内容,如果未能解决你的问题,请参考以下文章

JS解决页面多次,重复请求 的2个方法

js scroll 滚动连续多次触发事件怎么只执行一次

js scroll 滚动连续多次触发事件怎么只执行一次?

JS基础-防抖和节流

js scroll 滚动连续多次触发事件只执行一次

#JS 窗口resize避免触发多次