2

我们有一个简单的数据网格,我们通过 tab 键启用导航。(我们移动到下一个单元格) 在 IE 7 和 8 中,当我们点击 tab 键时,它会导致焦点从网格移到下一个元素。

在其他浏览器中,我们通过在包含我们网格的 div 上调用 focus() 来防止焦点移动到页面上的下一个元素。在 IE 中这是行不通的,不管怎样,焦点都会转移。

我们可以做什么(不使用 jQuery)来保持对网格的关注,这样我们就可以反复点击 tab 键并在网格中的单元格中移动?

按下回车键时也存在同样的问题。

4

2 回答 2

2

在您的事件处理程序(onkeydown、keypress 等)中,当您完成处理 tab 键时,使用此代码:)

return false;

这可以防止发生默认行为,并且应该停止导航继续进行。

于 2012-07-03T06:43:08.883 回答
0

另一种方法是按照您希望它们访问的顺序对元素使用tabindex属性。不需要脚本。

然而,较旧的浏览器可能不支持 HTML5 版本,但很可能这些浏览器也不支持关注相同的元素。

于 2012-07-03T13:56:45.413 回答