我有与文档绑定的keyup / down事件。 Keydown只会在第二次发射,而我不知道为什么。我在类似的SO-Questions上尝试了许多建议,但没有一个有效。
我的Javascript:
$(document).on('keyup', function() {
$('div').removeClass('bar');
});
$(document).on('keydown', function(e) {
if(e.altKey) {
$('div').addClass('bar'); // only every second hit will add the class
}
});
这应该指出问题: http://jsfiddle.net/6yxt53m9/1/
答案 0 :(得分:7)
您需要将return false;
添加到按键功能:
$(document).on('keyup', function() {
$('div').removeClass('bar');
return false;
});
$(document).on('keydown', function(e) {
if(e.altKey) {
$('div').addClass('bar');
}
return false;
});
更新了fiddle。
答案 1 :(得分:4)
使用
$(document).on('keyup', function(e) {
$('div').removeClass('bar');
e.preventDefault();
});
e.preventDefault();将重置输入
答案 2 :(得分:1)
试试这个。
$(document).on('keydown', function(e) {
e.preventDefault();
if(e.altKey) {
$('div').addClass('bar'); // only every second hit will add the class
}
});
原因是alt键出现焦点移动到“自定义和控制谷歌chorome”按钮