如何在Javascript中重置setTimeout()的时间值?

发布于 2024-12-01 02:40:30 字数 514 浏览 1 评论 0原文

我想在用户停止在文本框中写入内容 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝礼 2024-12-08 02:40:30

var myTimeout = setTimeout(...)

要清除它,只需编写
clearTimeout(myTimeout);

var myTimeout = setTimeout ( ...)

to clear it simply write
clearTimeout(myTimeout);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文