我正在寻找一种方法来禁用所有键码,直到 next()
函数完成。
我尝试使用return false
,但没有成功。
nextDown = {};
$(document).keydown(function(event){
if(event.keyCode == '39'){
if (nextDown['39'] == null) {
next();
nextDown['39'] = true;
}
}
});
$(document).keyup(function(event) {
nextDown[event.keyCode] = null;
});
有没有办法对 keydown
绑定(bind) false,然后在函数完成后取消绑定(bind)?
最佳答案
声明一个变量来做到这一点怎么样?以下代码可以解决您的问题吗?
nextDown = {};
var _lock = false;
$(document).keydown(function(event){
if(event.keyCode == '39'){
if (!_lock && nextDown['39'] == null) {
_lock = true;
next();
nextDown['39'] = true;
}
}
});
$(document).keyup(function(event) {
nextDown[event.keyCode] = null;
});
function next() {
...
_lock = false;
}
如果没有,请提供一个jsfiddle示例
关于jquery - 禁用 keydown,直到功能完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26654795/