我正在构建一个搜索框(输入字段),它应该进行服务器调用以过滤插入文本的网格,但我需要以智能方式进行此操作,我需要仅在用户拥有时才触发服务器调用停止.现在我正在努力实现它,但如果有人知道该怎么做,我会非常高兴.无论如何,如果我先这样做,我会在这里发布答案...最好的问候,Jaime.
按下某个键时:
检查是否存在现有计时器 - 如果有计时器则将其停止
启动计时器.
当计时器到期时,调用服务器方法.
var searchTimeout; document.getElementById('searchBox').onkeypress = function () { if (searchTimeout != undefined) clearTimeout(searchTimeout); searchTimeout = setTimeout(callServerScript, 250); }; function callServerScript() { // your code here }
你可以使用调用来setTimeout
调用你的服务器函数(可能有2-3秒延迟)来进行按键事件.按下akey后,取消上一个setTimeout
呼叫并创建一个新呼叫.
然后,在没有按键的情况下经过了2-3秒,服务器事件将被触发.