我正在研究键盘辅助功能。我有一个位于页面内的 Flash 对象,为了防止焦点被困在其中,我添加了可以进行对话的选项卡侦听器ExternalInterface
一些 JavaScript 函数。
JavaScript 会查找下一个可用元素tabIndex
并打电话focus()
在上面。到目前为止,一切都很好。但是,如果插件是页面上的最后一个可选项卡项目(或反向选项卡时的第一个选项卡项目),则没有可切换到的元素。通常这会将焦点设置到浏览器窗口,所以我想保留这种行为。
因此我的问题是:是否可以以编程方式将焦点集中到浏览器的镶边?如果我能模仿两个前锋就更好了and向后制表符。另外,如果可能的话,我想避免在闪存之前/之后添加额外的可选项组件,除非我可以使它们对鼠标都有效地不可见and键盘。
在我自己寻找类似答案时遇到了这个。如果要释放当前焦点元素的焦点,请使用 document.activeElement;如果您希望在不支持的情况下进行后备,请将焦点放在文档的父元素上。据我所知,这应该支持所有已知的浏览器:
var activeElement = document.activeElement;
if (activeElement) {
activeElement.blur();
} else if (document.parentElement) {
document.parentElement.focus();
} else {
window.focus();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)