我有这个方法:
jQuery(function($) {
var input = $('#search');
input.on('keyup', function() {
var key = event.keyCode || event.charCode;
if( key == 8 || key == 46 ) {
console.log('ajax request cancelled');
recentRequest.abort();
}
});
});
但是现在每次我按Backspace都会触发它,我想这样做它只能在输入内部触发一次。有人有想法吗?
由于
答案 0 :(得分:2)
您可以创建一个backspaceFlag
变量,以确保只允许/触发退格代码一次:
jQuery(function($) {
var backspaceFlag = true;
var input = $('#search');
input.on('keyup', function() {
var key = event.keyCode || event.charCode;
if ((key == 8 || key == 46) && backspaceFlag) {
backspaceFlag = false;
console.log('ajax request cancelled');
recentRequest.abort();
}
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='search' />
&#13;