【问题标题】:Move focus from one control to another control just pressing enter key by Jquery将焦点从一个控件移动到另一个控件,只需按 Jquery 的 enter 键
【发布时间】:2017-04-06 19:21:28
【问题描述】:

假设我在页面中有许多 html 控件,并且所有控件都有一个顺序制表位设置。所以如果我按制表符然后焦点正确移动,但我想通过按 Enter 键而不是制表符来移动焦点。所以请告诉我,当用户仅通过 javascript 或 jquery 在我的网页中按 Enter 键时,我如何以编程方式按 Tab。期待小的smaple代码达到我需要的效果。

谢谢。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:
    $(':input').keypress(function(e){
      if(e.which == 13){
        ti = $(this).attr('tabindex') + 1;
        $('input[tabindex='+ti+']').focus();
        //try to use________ e.which = 9; return e.which;
      }else if(e.which == 9){
        e.preventDefault(); //or return false;
      }
    });
    

    Javascript方式:

    <body onkeydown="if(event.keyCode==13){event.keyCode=9; return event.keyCode;}">
    

    【讨论】:

    • 这很好,但是 $('input[tabindex='+ti+']').focus(); 行是正确的(将双引号更改为单引号),并且为了防止提交触发需要在处理键 13 后防止默认或返回 false。这也不起作用在下拉菜单中,jquery 选择器应该改变
    猜你喜欢
    • 2017-05-08
    • 1970-01-01
    • 2013-10-16
    • 2023-03-27
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    相关资源
    最近更新 更多