确定用户何时键入

Jai*_*res 13 javascript ajax

我正在构建一个搜索框(输入字段),它应该进行服务器调用以过滤插入文本的网格,但我需要以智能方式进行此操作,我需要仅在用户拥有时才触发服务器调用停止.现在我正在努力实现它,但如果有人知道该怎么做,我会非常高兴.无论如何,如果我先这样做,我会在这里发布答案...最好的问候,Jaime.

nic*_*ckf 25

  1. 按下某个键时:
    1. 检查是否存在现有计时器 - 如果有计时器则将其停止
    2. 启动计时器.
  2. 当计时器到期时,调用服务器方法.
var searchTimeout;
document.getElementById('searchBox').onkeypress = function () {
    if (searchTimeout != undefined) clearTimeout(searchTimeout);
    searchTimeout = setTimeout(callServerScript, 250);
};
function callServerScript() {
    // your code here
}
Run Code Online (Sandbox Code Playgroud)


And*_*ngs 6

你可以使用调用来setTimeout调用你的服务器函数(可能有2-3秒延迟)来进行按键事件.按下akey后,取消上一个setTimeout呼叫并创建一个新呼叫.

然后,在没有按键的情况下经过了2-3秒,服务器事件将被触发.