Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery Keydown/keydup仅每秒工作一次_Javascript_Jquery - Fatal编程技术网

Javascript jQuery Keydown/keydup仅每秒工作一次

Javascript jQuery Keydown/keydup仅每秒工作一次,javascript,jquery,Javascript,Jquery,我已将keyup/down事件绑定到文档。按键只会每秒触发一次,我不知道为什么。我尝试了许多关于类似SO问题的建议,但没有一个有效 我的Javascript: $(document).on('keyup', function() { $('div').removeClass('bar'); }); $(document).on('keydown', function(e) { if(e.altKey) { $('div').addClass('bar'); //

我已将keyup/down事件绑定到文档。按键只会每秒触发一次,我不知道为什么。我尝试了许多关于类似SO问题的建议,但没有一个有效

我的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
    }
});
这应该指出问题所在: 使用

$(document).on('keyup', function(e) {
    $('div').removeClass('bar');
    e.preventDefault();
});

e、 预防默认值();将重置输入

您需要添加
返回false至按键功能:

$(document).on('keyup', function() {
    $('div').removeClass('bar');
    return false;
});

$(document).on('keydown', function(e) {
    if(e.altKey) {
        $('div').addClass('bar');
    }
    return false;
});
更新。

试试这个

$(document).on('keydown', function(e) {
    e.preventDefault();
    if(e.altKey) {
        $('div').addClass('bar');  // only every second hit will add the class
    }
});
原因是alt键出现焦点移动到“自定义和控制google chorome”按钮

你必须使用alt键吗?在ubuntu和ChromeEyes下,我第一次使用alt键。这一定是alt键。我在Mac的Chrome上,但这把小提琴对我有效。请将答案标记为已接受,但查看它是否解决了问题,我可能遗漏了一些东西。