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); });

 

posted @ 2020-05-29 17:17  嘻嘻哈哈大只佬  阅读(1478)  评论(0)    收藏  举报