我有两个文本框,当从一个文本框中按下TAB时,它会转到另一个地方而不是下一个文本框。
我的代码是:
$(function () {
$("input[id$=txt1]").bind('keydown',
function (e) {
if (e.which == 9) {
// alert("hello");
$("input[id$=txt2]").focus();
}
}
);
});
当我按Tab键输入txt1时,它应该转到txt2,但它不会。
任何帮助?
答案 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])。