Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于在Asp.Net中两次跳转选项卡的jquery focus()_Jquery_Asp.net_Tabs_Focus - Fatal编程技术网

用于在Asp.Net中两次跳转选项卡的jquery focus()

用于在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();

我有下面的代码来管理Asp.net页面中的选项卡,当我按下TextBox1中的选项卡时,它会跳转到TextBox2之后的元素,而不是TextBox2,我做错了什么

 $(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();
            }
        });
    });