【发布时间】:2013-03-28 08:28:37
【问题描述】:
我正在研究键盘可访问性。我有一个位于页面内的 flash 对象,为了阻止焦点被困在其中,我添加了通过ExternalInterface 与一些 JavaScript 函数对话的选项卡侦听器。
JavaScript 使用tabIndex 查找下一个可用元素并在其上调用focus()。到目前为止,一切都很好。但是,如果插件是页面上最后一个可选项卡(或反向选项卡时第一个),则没有可切换到的元素。通常这会将焦点设置到浏览器窗口,所以我想保持这种行为。
因此我的问题是:是否可以以编程方式将焦点放在浏览器的 chrome 上?如果我可以同时模仿向前 和 向后的制表符,那就更好了。如果可能的话,我还想避免在 flash 之前/之后添加额外的 tabbable 组件,除非我可以使它们对鼠标 和 键盘都有效地不可见。
【问题讨论】:
-
试试 $(window).focus() 了吗?
-
“聚焦浏览器”一般由
window.focus();实现 -
@Derek & jbabey:
$(window).focus()什么都不做 -
(至少,不在 Google Chrome 中。这是在其他浏览器中测试的小提琴:jsfiddle.net/4NA5u)
标签: javascript jquery focus