Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 选项卡的键代码不工作_Javascript_Jquery_Events_Backbone.js - Fatal编程技术网

Javascript 选项卡的键代码不工作

Javascript 选项卡的键代码不工作,javascript,jquery,events,backbone.js,Javascript,Jquery,Events,Backbone.js,我正在主干中使用事件按键。Enter(13)的键码工作正常,但tab(9)的键码由于某些奇怪的原因不工作。请帮我弄清楚。谢谢 onEnterSetTitle: function(ev) { if (ev.keyCode === 9) { this.$el.find('.set-title-input input').trigger('blur'); } }, 如果必须这样做,那么我将使用|操作符: onEnterSetTitle:

我正在主干中使用事件按键。Enter(13)的键码工作正常,但tab(9)的键码由于某些奇怪的原因不工作。请帮我弄清楚。谢谢

onEnterSetTitle: function(ev) {
        if (ev.keyCode === 9) {
            this.$el.find('.set-title-input input').trigger('blur');
        }
    },

如果必须这样做,那么我将使用
|
操作符:

onEnterSetTitle: function(ev) {
    var kc = ev.which || ev.keyCode;
    if (kc === 9) {
        .........
    }
}

我用keydown替换了keypress来修复它。

试试
ev.which
。您正在测试哪个浏览器。请尝试执行ev.preventDefault以防止出现默认行为。在IF内部,我使用的是Chrome,但也在IE11中进行了测试。即使使用ev.preventDefault(),tab键仍像默认键一样工作。
ev.哪一个足够?我认为这是jQuery获得跨浏览器键码的方式。是的,那就足够了,但是在firefox(一些旧版本的浏览器)上,我得到了一些没有按预期工作的东西,然后在stackoverflow上,我发现了这种方式,并且在当时对我有效。我尝试了ev.which和ev.preventDefault,但它仍然没有触发模糊事件。keypress()仅捕获可打印的字符,而keydown()捕获所有字符,包括制表符。