当输入删除非常快时,ajax搜索框将发送最后输入

时间:2018-09-18 19:11:08

标签: jquery html ajax search livesearch

因此,我有一个ajax实时搜索,当我在本地对其进行测试时,它可以很好地工作,但是知道我拥有“实时”功能,当输入被迅速删除时,它将发送检测到的最后一个输入。

(很快,我指的是按住删除键,轻按很多键,甚至加总ctrl + a并删除都会触发错误。)

它确实做到了这一点,我认为当按下Delete键时,该功能正在触发,但是将功能从keyup更改为keypress是行不通的,并且删除了我的动画。

控制台告诉我搜索框的长度和值是空的。

编辑:我无法通过删除键将最后一个输入发送到服务器来解决此问题,因此我使用.show()和.hide()提出了一个美观的解决方案

答案解决方案

1 个答案:

答案 0 :(得分:0)

如编辑中所述,这是一种美观的解决方案

我尝试将setTimeouts放置在函数的不同位置

此解决方案使用两个if语句来跟踪searchbox的值并相应地隐藏/显示结果框

if($('#searchbox').val() === ''){
    $('#resultbox').hide();
}

if($('#searchbox').val() != ''){
    $('#resultbox').show();
}