我有2个字段用于浏览代码,它在IE和Chrome中没有任何作用,似乎它什么也没有运行(例如,当我发出警报时我什么也没得到),而在Firefox中,它却运行着一些错误(在其中跳了两次)您认为问题出在哪里,我正在使用ASP.Net和jQuery 1.3.2开发
$(document).ready(function () {
$("#TextBox1").keypress(function (e) {
var kCode = e.keyCode || e.charCode;
if (kCode == 9) {
$("#TextBox2").focus();
}
});
});
最佳答案
我认为主要问题是您正在使用keypress
事件,该事件仅应在将字符添加到输入中时触发,而不是在按下任何键(如TAB)时才触发。
要处理其他按键,您将需要使用keydown
。但是,对您的小提琴进行测试似乎仍然无效。为了使其正常运行(至少在Chrome中),我不得不阻止默认操作:
$(document).ready(function () {
$("#TextBox1").keydown(function (e) {
e.preventDefault();
var kCode = e.keyCode || e.charCode;
console.log(kCode);
if (kCode == 9) {
$("#TextBox2").focus();
}
});
});
这是update fiddle。但是,如果我正确理解了您的问题,那么您要做的就是在按下Tab键时更改焦点元素...如果是的话,为什么不直接使用
tabindex
属性呢?