Jquery更改延迟

可能重复:
在jQuery中调用事件调用

我喜欢jQuery的.change()function,但是当用户快速更改选择下拉列表中的选项时,我想阻止触发大量的AJAX请求。 例如,当用户使用鼠标滚轮时,它会在选择新选项时触发每个选项。

我想提出一个很好的干净方法来处理只有在用户停止更新选择下拉列表后才发送这些更新。

有没有一种处理这种情况的巧妙方法?

执行此操作的典型方法是使用setTimeout和clearTimeout:

var wto; $('#select').change(function() { clearTimeout(wto); wto = setTimeout(function() { // do stuff when user has been idle for 1 second }, 1000); }); 

我建议你使用underscore.js然后:

 var newFunction=_.debounce(function (){ alert('You function, after use stop scroll') },1000); //Wait seconds after he stops $('#select').change(newFunction); 

阅读更多关于underscore.debounce的信息 。