因此,我有一个ajax实时搜索,当我在本地对其进行测试时,它可以很好地工作,但是知道我拥有“实时”功能,当输入被迅速删除时,它将发送检测到的最后一个输入。
(很快,我指的是按住删除键,轻按很多键,甚至加总ctrl + a并删除都会触发错误。)
它确实做到了这一点,我认为当按下Delete键时,该功能正在触发,但是将功能从keyup更改为keypress是行不通的,并且删除了我的动画。
控制台告诉我搜索框的长度和值是空的。
编辑:我无法通过删除键将最后一个输入发送到服务器来解决此问题,因此我使用.show()和.hide()提出了一个美观的解决方案
答案解决方案
答案 0 :(得分:0)
如编辑中所述,这是一种美观的解决方案
我尝试将setTimeouts放置在函数的不同位置
此解决方案使用两个if语句来跟踪searchbox的值并相应地隐藏/显示结果框
if($('#searchbox').val() === ''){
$('#resultbox').hide();
}
if($('#searchbox').val() != ''){
$('#resultbox').show();
}