用于在Asp.Net中两次跳转选项卡的jquery focus()
我有下面的代码来管理Asp.net页面中的选项卡,当我按下TextBox1中的选项卡时,它会跳转到TextBox2之后的元素,而不是TextBox2,我做错了什么用于在Asp.Net中两次跳转选项卡的jquery focus(),jquery,asp.net,tabs,focus,Jquery,Asp.net,Tabs,Focus,我有下面的代码来管理Asp.net页面中的选项卡,当我按下TextBox1中的选项卡时,它会跳转到TextBox2之后的元素,而不是TextBox2,我做错了什么 $(document).ready(function () { $("#TextBox1").live('keypress', function (e) { if (e.keyCode == 9) { $("#TextBox2").focus();
$(document).ready(function () {
$("#TextBox1").live('keypress', function (e) {
if (e.keyCode == 9) {
$("#TextBox2").focus();
}
});
});
在JSFIDLE上运行示例:
这是正确的表单,我需要防止它执行默认设置,而且它不能与keydown一起使用,因为它是一个选项卡,所以我使用了keydown
$(document).ready(function () {
$("#TextBox1").keydown(function (e) {
e.preventDefault();
var kCode = e.keyCode || e.charCode;
if (kCode == 9) {
$("#TextBox2").focus();
}
});
});
解释var kCode=e.keyCode | | e.charCode;是的,您将获得我的投票。它正在检查浏览器如何处理按键事件。Mozilla vs IE…等等,我不知道它有什么不同。我敢肯定,我曾经在一个附带项目中遇到过类似的问题,结果做了一个更耗时的工作。谢谢。我在Firefox中进行了测试,现在我也在IE和chrome中进行了测试,我在Firefox中得到了与您的代码相同的结果,但在IE和chrome中不起作用。也许这是ASP.NET中的一些问题,我刚想说的是-您需要
.preventDefault()
或返回false代码>。我只花了大约一个小时检查和重新检查我的JS,认为我的代码有问题。不,关注的是正确的元素-但是设置preventDefault()成功了!我不知道这是一件事。
$(document).ready(function () {
$("#TextBox1").keydown(function (e) {
e.preventDefault();
var kCode = e.keyCode || e.charCode;
if (kCode == 9) {
$("#TextBox2").focus();
}
});
});