在使用API搜索数据库时,我注意到当同时按下两个或更多键时,我会得到重复的AJAX响应;即,使用Ctrl+V将文本粘贴到表单中。有没有办法过滤Control、Alt或其他可能出现的组合键?
$("#searchbar").on('keyup', function (e){
// e.preventDefault();
let value = e.target.value;
$.ajax({
url: 'api.domain.com/'+value,
data: {}
}).done(function (response_one){
$("#serp").html(`
<div class="response-container">
${response_one.param}
</div>
`);
$.ajax({
url: 'api.domain.com/feature'+value,
data: {}
}).done(function (response_two){
response_two.method(function (args){
$("#serp").append(`
<div class="response-container">
${response_two.param}
</div>
`);
});
});
});
});});发布于 2017-12-02 08:18:20
使用https://api.jquery.com/keypress/而不是Keyup。这与keydown事件类似,不同之处在于修改键和非打印键(如Shift、Esc和delete )会触发keydown事件,而不会触发按键事件。
https://stackoverflow.com/questions/47603125
复制相似问题