Javascript 按Enter键时取消即时搜索 问题

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

下面有一个超时函数,在1200 jQuery超时间隔之后,页面的html中的ajaxes会立即出现,在超时完成之前或之后用户按enter键之前,这是非常好的,并且页面的html会被不必要地调用两次

我正在使用的代码 输入的onkeyup函数

在enter上调用相同的函数

问题
如果在超时函数之前按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(); 
}