延迟jQuery中键输入的ajax调用
我正在为文本输入构建一个自动完成的脚本。 为了避免多次不必要的ajax调用,我只希望在用户停止键入文本1秒后启动ajax调用。这样,我将为每按一个键节省一些开销呼叫。如何使用jQuery实现这一点 谢谢延迟jQuery中键输入的ajax调用,jquery,Jquery,我正在为文本输入构建一个自动完成的脚本。 为了避免多次不必要的ajax调用,我只希望在用户停止键入文本1秒后启动ajax调用。这样,我将为每按一个键节省一些开销呼叫。如何使用jQuery实现这一点 谢谢 Joel使用插件或-better-documented-plugin。您可以尝试类似的方法。我还没有玩上面的游戏。只是使用简单的js var keyUpTime = 1000; // 1 sec var keyUpTimeout = null; $('input[type=text]').key
Joel使用插件或-better-documented-plugin。您可以尝试类似的方法。我还没有玩上面的游戏。只是使用简单的js
var keyUpTime = 1000; // 1 sec
var keyUpTimeout = null;
$('input[type=text]').keyup( function(e) {
clearTimeout(keyUpTimeout);
keyUpTimeout = setTimeout(function() { sendAjax(); }, keyUpTime);
});
function sendAjax() {
alert('Send it!');
}
还有另一个jquery插件。它对我来说很好无论是作为参考,还是你不需要重新发明轮子,jqueryui的autocomplete插件都非常优秀,并且有这个确切的功能(当然是可选的,在使用时,你可以设置延迟)…您正在使用
keyUpTime
污染全局范围,如果右键单击并在关联菜单中选择“粘贴”,则不会触发keyUpTimeout
关键事件。