Key键功能无法使用Tab键(jQuery)

时间:2018-06-07 03:42:03

标签: javascript jquery html tabs keyup

我在jQuery中遇到Tab键问题。 Tab键的功能键不起作用。无论我在函数中写了什么,它都不起作用,只关注下一个文本框。

我试过了:

$('#sn_c3_scan').keyup(function(event) {
        if (event.key == "Tab") {
            alert('haha');
        }
 });

还有这个:

$('#sn_c3_scan').keyup(function(event) {
    if (event.keyCode == "9") {
        alert('haha');
    }
});

顺便说一句,keydown事件仍然有效。但是因为keyup不起作用,所以我写的关于将焦点更改为另一个控件的任何内容都会在释放键时浪费(因为它会自动将焦点更改为下一个控件 - 我不想要)。

有人有任何想法吗?

顺便说一句,这是我的文本框HTML:

    <div class="row c3">
        <div class="col-md-3">
            <b>Serial (S/N):</b> 
        </div> 
        <div class="col-md-9"> 
            <input type="text" id = "sn_c3_scan" class="form-control" autofocus> 
        </div> 
   </div>

    <div class="row c3">
        <div class="col-md-3">
            <b>AAAA:</b> 
        </div> 
        <div class="col-md-9"> 
            <input type="text" id = "sn_c3_scan2" class="form-control"> 
        </div> 
   </div>

1 个答案:

答案 0 :(得分:1)

在标签键盘上焦点切换到下一个元素,因此键盘不会在输入字段上触发。你可以记住&#39; tab&#39;的键盘。事件并在&#39;文档&#39;上的密钥上执行您的代码。

jsbin link:https://output.jsbin.com/tinoroxopu/3

&#13;
&#13;
(function(){
  var tabPress = false;
  $('#sn_c3_scan').keydown(function(event) {
    if (event.keyCode == "9") {
       tabPress = true;
    }
  });
  $(document).on('keyup', function(){
     if(tabPress){
      alert('hello');
      tabPress = false; //reset
    }
  })
})();
&#13;
&#13;
&#13;