单击TAB时,焦点应该在下一个文本框上

时间:2012-01-05 06:04:42

标签: javascript jquery

我有两个文本框,当从一个文本框中按下TAB时,它会转到另一个地方而不是下一个文本框。

我的代码是:

   $(function () {

        $("input[id$=txt1]").bind('keydown',
        function (e) {
            if (e.which == 9) {
                // alert("hello");
                $("input[id$=txt2]").focus();
            }
        }
        );

    });

当我按Tab键输入txt1时,它应该转到txt2,但它不会。

任何帮助?

2 个答案:

答案 0 :(得分:5)

您不必在此处执行任何代码。您只需按正确顺序分配选项卡索引。

例如:

<input type="text" value="a" tabindex="1" />
<input type="text" value="c" tabindex="3" />
<input type="text" value="b" tabindex="2" />

如果将焦点设置为“a”,则按TAB键,焦点将移至“c”,然后移至“b”。

在此处查看演示:http://jsbin.com/epacop/2

答案 1 :(得分:2)

只需使用preventDefault即可使用

$("#txt1").bind('keydown',
function (e) {
    if (e.which == 9) {
        $("#txt2").focus();
        e.preventDefault()
        }
    }
);
顺便说一下,使用带有id的直接选择器要好得多(#txt2而不是输入[id $ = txt2])。