Javascript 如何从tabindex流中删除浏览器函数?

Javascript 如何从tabindex流中删除浏览器函数?,javascript,jquery,internet-explorer,browser,tabindex,Javascript,Jquery,Internet Explorer,Browser,Tabindex,我已经在JSP页面中的所有元素上设置了选项卡索引,这很好,但在选项卡索引流中,浏览器的功能也得到了关注 例如: 当选项卡焦点位于页面的最后一个元素时,如果我再次点击选项卡,则焦点将转到浏览器的地址栏、刷新按钮、选项卡窗口和主页按钮 我想重点应该放在第一个元素上,在最后一个制表符索引10之后有制表符索引1 如何限制这些浏览器的功能,使其不能聚焦于选项卡。我正在使用Javascript/JQuery和IE9 以下是我的网页: <html> <body>

我已经在JSP页面中的所有元素上设置了选项卡索引,这很好,但在选项卡索引流中,浏览器的功能也得到了关注

例如: 当选项卡焦点位于页面的最后一个元素时,如果我再次点击选项卡,则焦点将转到浏览器的地址栏、刷新按钮、选项卡窗口和主页按钮

我想重点应该放在第一个元素上,在最后一个制表符索引10之后有制表符索引1

如何限制这些浏览器的功能,使其不能聚焦于选项卡。我正在使用Javascript/JQuery和IE9

以下是我的网页:

<html>
    <body>
        <script src="jquery.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                //functions
            });
        </script>
        <div id="xyz">
            <ul >
                <li>
                    <div>
                        <input type="text" maxlength="30" tabindex = "1" />
                        <br>
                        <input type="text" maxlength="30" tabindex = "2" />
                        <br>
                    </div>
                </li>
            </ul>
            <ul>
                <li>
                    <div>
                        <input type="checkbox" id="checkBox1" value="false" tabindex ="3"/>
                    </div>
                    <div>
                        <input type="checkbox" id="checkBox2" value="false" tabindex ="4"/>
                    </div>
                </li>
                <li>
                    <div>
                        <input type="button" name="saveBtn" id="saveBtn" value="SaveMe" tabindex ="5"/>
                    </div>
                    <div>
                        <input type="button" name="clearBtn" id="clearBtn" value="ClearMe" tabindex ="6"/>
                    </div>
                </li>
            </ul>
        </div>
    </body>
</html>

$(文档).ready(函数(){
//功能
});



如果当前焦点是最后一个元素,则可以使用下面的脚本聚焦第一个元素

<input id="firstElement" value="" />
<!---series of dom element-->
<input id="lastElement" value="" />
<script>
   $('#lastElement').keydown(function(e) {
      if (e.keyCode == 9) {
          $('#firstElement').focus();
          e.preventDefault();
      }
   });

</script>

$('#lastElement').keydown(函数(e){
如果(e.keyCode==9){
$('#firstElement').focus();
e、 预防默认值();
}
});

您可以将
键控
事件与
.index()
.length
结合使用,检查:

$('#xyz').find(':input').last().keydown(函数(e){
if($(this).attr('tabindex')==$('#xyz').find(':input').length){
如果(如keyCode===9){
e、 预防默认值();
$('input[type=“text”]”).first().trigger('focus');
}
}
});




这取决于标记结构。将
blur
事件附加到最后一个表单元素,并在其中将焦点设置为第一个/所需的表单元素。我相信它会起作用的。