这个问题已经在这里有了答案:




已关闭8年。






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

我想提出一种很好的简洁方法来处理仅在用户停止每秒更新选择下拉列表时发送这些更新的情况。

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

最佳答案

典型的方法是使用setTimeout和clearTimeout:

var wto;

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

09-30 22:33