javascript - 如何在一个人停止输入后调用一个函数?

标签 javascript html

我在一个 HTML 页面上有一个输入,一个人将在其中输入一些内容,而我想要的是在他们每次停止输入时调用一个函数。我知道 onkeypress 事件,但每次键入字符时都会调用它。这是我想要的示例:

  1. 人在输入中输入“这是一个测试”
  2. 人停止打字后,应调用函数 foo()
  3. 人在输入中输入其他内容
  4. 人停止打字后,应调用函数 foo()
  5. 重复....

这可能吗?

非常感谢!

最佳答案

听 onkeyupevent。开始超时(您必须将“停止”定义为某个时间量,否则它将在每次键入时调用),并在超时时执行您的函数。

如果在计时器运行时调用 onkeydown,请停止它。

有点像...

var timer;

function onKeyUpHandler(e){
    timer = setTimeout("foo()", 500)    
}

function onKeyDownHandler(e) {
    clearTimeout(timer);
}

此代码的确切外观取决于您在何处以及如何使用它...只是为了展示执行此操作的方法。

关于javascript - 如何在一个人停止输入后调用一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11172816/

相关文章:

javascript - 两个浏览器窗口之间的通信 : popup and parent

javascript - 文字与原型(prototype)对象表示法的数据结构

html - CSS/顺风 : Why does justify-between send element to bottom instead of content-between?

jquery - 一个 DIV 部分被完全隐藏

html - 页面加载时的不透明度过渡不会在加载时启动

javascript - 包裹 html 标签以使所有标签都可点击

html - 显示格式错误的 HTML "Safely?"

javascript - 将 JSON 对象转换为 protobuf IStruct

javascript - 用鼠标滚轮控制div A的滚动同时滚动div B,反之亦然

javascript - 在javascript中设置多个cookie