现在,我已经知道了,你可以按左箭头键来执行一个事件(事件1)。如果在该事件之后按右箭头键,它将执行另一个事件(事件2)。
如何限制它,以便如果按下左箭头键两次,它将不会重复事件1?
现在,我有:
$(document).keydown(function(f){
if (f.keyCode == 39) {
// do event 1 here with the left arrow key
}
$(this).keydown(function(f){
if (f.keyCode == 39) {
// do event 2 with the right arrow key
window.location.href = "index.php";
}
});
我是否需要将变量设置为false,然后在事件1完成后设置为true?
答案 0 :(得分:1)
在执行代码后使用$(this).unbind('keydown')
删除处理程序。
PS:通常你会使用.one()
方法进行一次性事件,但由于事件也会在你不想解除绑定的情况下触发(按下了不同的键),你需要手动解除绑定。
答案 1 :(得分:1)
var pressedLeft = false;
$(document).keydown(function(f){
if ( ! pressedLeft && f.keyCode == 39) {
// do event 1 here with the left arrow key
pressedLeft = true;
}
});