我们有一个简单的数据网格,我们通过 tab 键启用导航。(我们移动到下一个单元格) 在 IE 7 和 8 中,当我们点击 tab 键时,它会导致焦点从网格移到下一个元素。
在其他浏览器中,我们通过在包含我们网格的 div 上调用 focus() 来防止焦点移动到页面上的下一个元素。在 IE 中这是行不通的,不管怎样,焦点都会转移。
我们可以做什么(不使用 jQuery)来保持对网格的关注,这样我们就可以反复点击 tab 键并在网格中的单元格中移动?
按下回车键时也存在同样的问题。
我们有一个简单的数据网格,我们通过 tab 键启用导航。(我们移动到下一个单元格) 在 IE 7 和 8 中,当我们点击 tab 键时,它会导致焦点从网格移到下一个元素。
在其他浏览器中,我们通过在包含我们网格的 div 上调用 focus() 来防止焦点移动到页面上的下一个元素。在 IE 中这是行不通的,不管怎样,焦点都会转移。
我们可以做什么(不使用 jQuery)来保持对网格的关注,这样我们就可以反复点击 tab 键并在网格中的单元格中移动?
按下回车键时也存在同样的问题。
在您的事件处理程序(onkeydown、keypress 等)中,当您完成处理 tab 键时,使用此代码:)
return false;
这可以防止发生默认行为,并且应该停止导航继续进行。
另一种方法是按照您希望它们访问的顺序对元素使用tabindex属性。不需要脚本。
然而,较旧的浏览器可能不支持 HTML5 版本,但很可能这些浏览器也不支持关注相同的元素。