免责声明:除了Java语言专家之外,我什么都不是,所以我什至不确定我是否正确地使用了它。

我希望能够触发Javascript中的事件,但是如果发生另一个事件,则能够取消该事件。所以,我要完成的是:


用户开始在文本框中输入内容。
文本框内容更改时,触发一个进行AJAX调用的事件
但是,如果用户继续输入,请取消该事件,因为直到完成输入后,我才想进行查询


即,如果用户在其中键入“ foobar”,则在他们完成键入之前,我不希望进行AJAX搜索。我没有理由这样做:

AJAX(“ f”)
然后
AJAX(“ fo”)
然后
AJAX(“ foo”)
然后
AJAX(“ foob”)
...

当我可以打完一个电话的时候
AJAX(“ foobar”)

...我有道理吗?还是有更好的方法来解决这个问题?

哦,然后是关键点:我想避免使用JQuery / Prototype,而只需使用简单的javascript ... yeck!

最佳答案

您想在按键上要做的是

if(myTimeout)
   window.clearTimeout(myTimeout);

var myTimeout = window.setTimeout(function() {
   alert('one second has passed without any keypress');
}, 1000);

10-04 16:12
查看更多