【发布时间】:2012-07-03 06:20:11
【问题描述】:
我们有一个简单的数据网格,我们通过 Tab 键启用导航。 (我们移动到下一个单元格)在 IE 7 和 8 中,当我们点击 tab 键时,它会导致焦点从网格移到下一个元素。
在其他浏览器中,我们通过在包含我们网格的 div 上调用 focus() 来防止焦点移动到页面上的下一个元素。在 IE 中这是行不通的,不管怎样,焦点都会转移。
我们可以做什么(不使用 jQuery)来将焦点保持在网格上,这样我们就可以反复按 Tab 键并在网格中的单元格中移动?
按回车键时也存在同样的问题。
【问题讨论】:
-
您需要发布一个关于当前焦点代码如何工作的最小示例。在 HTML5 之前,只有表单控件、图像和链接等元素才能获得焦点。现在什么都可以。
-
我看不出你的代码有什么问题。哦,等等,我没有看到 任何 代码 - 请帮助我们帮助您...
-
@RobG 如果所有代码都是 div.focus() 我认为代码示例不会有任何区别。有时我想知道代码示例的请求是否只是不回答的借口。
-
如果这不会引发一场火焰战争,我不知道会是什么:)
-
@AranMulholland - 好吧,我会咬一口(一次):代码显然不仅仅是
div.focus(),因为它必须在某个地方调用from。 OP 必须处理 some 事件,可能是模糊和/或焦点事件,所以 that 是我们希望看到的代码。 OP 应该 做的是处理 div 上的 keydown 事件并在按下 tab 或 enter 时取消它。 (是的,一些问题在没有代码示例的情况下很清楚,但这不是一个这样的问题。)
标签: javascript internet-explorer html focus