Jquery Tab面板可以专注于按键

时间:2014-11-18 05:22:38

标签: javascript jquery focus

我有一个jquery选项卡面板。此面板包含一些用户控件,如文本框。我的要求是当我按 Shift + T 时将焦点设置在选项卡上。这不会发生。我使用了以下代码。

<script type="text/javascript">

    $(document).ready(function () {
        $("#tabs").keypress(function () {
            if (e.keyCode == 80 && e.keyCode == 18)
                $("#tabs").focus();
        });

        $("#tabs").focus(function () {
            if (e.keyCode == 37) {
                selected = (selected - 1);
                $('#tabs').tabs('option', 'selected');
            }
            if (e.keyCode == 39) {
                selected = (selected + 1);
                $('#tabs').tabs('option', 'selected');
            }
        });
    });

</script>

4 个答案:

答案 0 :(得分:1)

我不确定为什么你需要使它复杂化。 试试这个演示:
http://jsfiddle.net/lotusgodkk/GCu2D/417/

JS:

$(document).ready(function () {
    $(document).on('keydown', function (e) {
        var keyCode = e.keyCode;
        if ((keyCode == 84) & (e.shiftKey)) {
            $('.ui-state-active:visible:first').focus(); //ui-state-active is the class of active tab.
        }
    });
    $('#tabs').tabs();
});

答案 1 :(得分:0)

你应该试试这个:

inputs = $("table :input");
$(inputs).keypress(function(e){
      if (e.keyCode == 13){
          inputs[inputs.index(this)+1].focus();
      }
});

答案 2 :(得分:0)

首先 - &gt;删除双qoutes ..它们用于输入,p等组件。 第二 - &gt;试试这段代码..

 $(document).ready(function () {
            $('#tabs').keypress(function () {
                if (e.keyCode == 80 && e.keyCode == 18)
                    $('#tabs').focus(); //  setting the focus
alert("working"); //test it
            });

            $('#tabs').focus(function () {
                if (e.keyCode == 37) {
                    selected = (selected - 1);
    $('#tabs').focus(); //  setting the focus
                    $('#tabs').tabs('option', 'selected');
                }
                if (e.keyCode == 39) {
                    selected = (selected + 1);
                    $('#tabs').tabs('option', 'selected');
                }
            });


        });


    </script>

答案 3 :(得分:0)

我猜可能适用于你Click Here

<强> JS

$("#status").keydown(function (e) {    
  if (e.which == 9) {
  $("#statuses").html(this.value);        
  this.value = "";        
  $("#status").focus();
  e.preventDefault();
 }
});