我正在尝试使用位于以下位置的 AJAX Live Search: http://www.w3schools.com/php/php_ajax_livesearch.asp
它通过 AJAX 传输输入的值以在 php 文件中进行比较。
这确实有效,但有一件事困扰着我:
当输入某些字符并删除所有输入内容时(相当快),有时会仍然显示结果,属于我删除的最后一个字符的结果 .
因此输入 asdfgh
会导致无建议
。
但是删除所有字符仍然有a
显示的结果,即:
HTML a tag
HTML br tag
CSS background Property
JavaScript Date Object
JavaScript Array Object
我尝试通过更改代码的 onkeyup
部分、将其插入 JavaScript 本身、尝试不同类型的事件来解决此问题,但似乎没有任何方法可以修复此行为。
在我的手机和另一台电脑上也测试过,都是一样的。
关于如何改变以消除这种行为的任何建议?
最佳答案
您可能希望在 showResult 函数中设置时间延迟。
设置一个超时,例如 50 毫秒,每次调用 showResult 函数时,都会重置它。
超时将执行 AJAX 调用(showResult 应该执行的操作)。
关于javascript - ajax实时搜索最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33127251/