Javascript 按Enter键时取消即时搜索 问题
下面有一个超时函数,在1200 jQuery超时间隔之后,页面的html中的ajaxes会立即出现,在超时完成之前或之后用户按enter键之前,这是非常好的,并且页面的html会被不必要地调用两次 我正在使用的代码 输入的onkeyup函数 在enter上调用相同的函数 问题Javascript 按Enter键时取消即时搜索 问题,javascript,jquery,html,Javascript,Jquery,Html,下面有一个超时函数,在1200 jQuery超时间隔之后,页面的html中的ajaxes会立即出现,在超时完成之前或之后用户按enter键之前,这是非常好的,并且页面的html会被不必要地调用两次 我正在使用的代码 输入的onkeyup函数 在enter上调用相同的函数 问题 如果在超时函数之前按enter键,我可以添加什么来停止超时函数,或者如何防止同一HTML文档被调用两次?谢谢您已经在发布的内容中获得了所需的所有代码。当用户按下enter键时,只需清除计时器,这将阻止回调触发 if(e.k
如果在超时函数之前按enter键,我可以添加什么来停止超时函数,或者如何防止同一HTML文档被调用两次?谢谢您已经在发布的内容中获得了所需的所有代码。当用户按下enter键时,只需清除计时器,这将阻止回调触发
if(e.keyCode==13){
clearTimeout(timeoutReference);
ajaxHTML();
}
目前,您的代码在用户按下enter键时调用ajaxHTML,但它可能已经排队从您的setTimeout设置中调用该函数,正如您所说,这是两个AJAX调用的即时结果
$(document).on('keypress',function(e){
if(e.keyCode==13){
ajaxHTML();
}
});
if(e.keyCode==13){
clearTimeout(timeoutReference);
ajaxHTML();
}