'Next' 的按键事件

Keydown event for 'Next'

我正在使用此代码来处理 tabenter 输入键的按键事件。

$(document).on('keydown', ".className" , function(e) {
  var keyCode = e.keyCode || e.which; 

  alert(keyCode) // does not work for 'next'

  if (keyCode == 9) { //tab key // does not work for 'next'
    e.preventDefault(); 
    if( $(this).parents('tr').next('tr').length == 0){
     $('.add_info').click();  
    }
    $(this).parents('tr').next('tr').find('input:first').focus();
  }

  if (keyCode == 13) { //enter key
    e.preventDefault(); 
        $('.anotherField').focus();
  }
});

tab 键的代码在移动浏览器上不起作用。数字键盘显示为 .className 字段,因为输入类型是 number,因此它具有 Next 键和其他键。我尝试 alert(keyCode) 只是为了获取 Next 的键码,但事件没有触发。无论如何我可以覆盖 Next 键的默认行为吗?

我找不到触发 Next 事件的方法,所以我尝试了一种解决方法。

Next 关注页面上的下一个元素。当我的输入失去焦点时,我设置了一个标志。当下一个元素在这个元素之后聚焦时(如果设置了标志)然后我触发 tab 的代码块(当 tab 键被按下时我打算做什么 input.

var from_class_name = 0;
$(document).on('keydown', ".className" , function(e) {
  var keyCode = e.keyCode || e.which; 

  if (keyCode == 9) { //tab key // does not work for 'next'
    e.preventDefault(); 
    if( $(this).parents('tr').next('tr').length == 0){
     from_class_name= 0;
     $('.add_info').click();  
    }
    $(this).parents('tr').next('tr').find('input:first').focus();
  }

  if (keyCode == 13) { //enter key
    e.preventDefault(); 
    from_class_name= 0;
    $('.anotherField').focus();
  }
});


$('#divid').on('focusout', '.className', function(){
    if( $(this).parents('tr').next('tr').length == 0){
        from_class_name = 1;
    }
});
$('.otherelement1, .otherelement2, .otherelement3, .otherelement4').on('focus', function(){
    from_class_name = 0;
});

$('.nextElement').on('focus', function(){ //element which is focused when 'Next' is used
    if(from_class_name == 1) { // the value is 1 when the .className loses focus and no other fields are focused right after it except .nextElement
        from_class_name = 0;
        $('.add_info').click();
    }
});