Jquery keypress()事件不捕获Tab键代码

时间:2017-02-24 15:31:18

标签: javascript jquery

如果用户在文本框中输入时按Tab键,我想做点什么。但是下面的代码无法处理标签按钮。我为“Enter”尝试了“13”并且它有效但我不确定为什么它对Tab不起作用。

我认为这可能是因为当按Tab键时文本框失去焦点。如果是这种情况,当人们按下此文本框中的标签时,如何防止失去焦点?

谢谢。

$("#tagInpKey").keypress(function (e) {
    if (e.which == 9) {
       alert("Tab Pressed");
    }
});

1 个答案:

答案 0 :(得分:4)

来自documentation

  

当浏览器注册键盘输入时,按键事件将发送到元素。这类似于keydown事件,除了修饰符和非打印键(如Shift,Esc和delete)触发keydown事件而不是keypress事件

要解决此问题,请改用keydown

$("#tagInpKey").keydown(function (e) {
    if (e.which == 9) {
       alert("Tab Pressed");
    }
});