如何在Javascript中重置setTimeout()的时间值?
我想在用户停止在文本框中写入内容 10 秒后显示一个 Alert() 框。
我使用以下 javascript 代码打开警报框 -
function txtkeyup(e){
setTimeout(function () {
alert('submit?');
}, 10000);
return true;
}
HTML 代码是 -
<input type='textbox' name='searchquery' value='' onkeyup='return txtkeyup();'>
现在浏览器在输入框中每次 onkeyup 事件发生 10 秒后给出警报框。 为了只发出一个请求,我必须在每个 keyup 事件上重置 setTimeout() 计时器,这样如果用户 10 秒内没有按下按钮,就会显示警报框。
如何重置之前在 JavaScript 中调用的“setTimeout()”计时器?请指导我..
I want to display an alert() box, just 10 seconds after user stops writting in a textbox.
I used following javascript code to open alertbox -
function txtkeyup(e){
setTimeout(function () {
alert('submit?');
}, 10000);
return true;
}
and the HTML code is -
<input type='textbox' name='searchquery' value='' onkeyup='return txtkeyup();'>
Now the browser is giving alertbox, 10 seconds after every onkeyup event in the inputbox.
To make only one request, i have to reset the setTimeout() timer on every keyup event so the alertbox will be display if user doesnt press a button for 10 seconds.
How can reset the timer of previously called 'setTimeout()' in javascript? Please guide me..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
var myTimeout = setTimeout(...)
要清除它,只需编写
clearTimeout(myTimeout);
var myTimeout = setTimeout ( ...)
to clear it simply write
clearTimeout(myTimeout);