onkeup 后的 javascript 延迟

标签 javascript jquery events

所以引用这个: How to delay the .keyup() handler until the user stops typing?

我想出了以下代码。但它什么都不做......有什么建议吗?

我试图让 setTimeout 在用户输入更多内容时取消,这样就不会出现多个警报,只有在用户最终“停止”(希望如此)时才会出现一个。

谢谢!!

var t = 0;  
$('input').keyup(function(){
    clearTimeout(t);
    t = setTimeout(alert($('input').val()),1000);
}

最佳答案

替换

t = setTimeout(alert($('input').val()),1000);

t = setTimeout(function(){alert($('input').val())},1000);

您将输入值传递给 setTimeout,而 setTimeout需要一个函数(或它可以作为代码评估的字符串)作为第一个参数。

并将最后一行替换为 }); 以便代码编译。

Demonstration

关于onkeup 后的 javascript 延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13536037/

相关文章:

javascript - 在手机上设置超时

c# - 如何在事件处理程序内调用 WebBrowser 上的方法?

javascript - 在内联事件处理程序中传递事件数据

javascript - 在javascript中获取视频的帧率

javascript - jquery Index() 无法正常工作?

javascript - ul 样式仅在滚动时更改,返回滚动/更改点时会丢失样式

events - iPad Safari的鼠标事件映射到图像映射中的触摸事件

events - ionic 2 : publish multiple events on Modal dismiss sometimes doesn't work

Javascript - Websockets 错误 ERR_NAME_NOT_RESOLVED

javascript - 如何使用下划线模板编写条件 if 语句