作者:童画小欧_904 | 来源:互联网 | 2022-12-09 16:30
假设您有网站,当您刷新它时,如果您检查哪个元素具有焦点,请使用以下代码:
setInterval(function () {
console.log('ID: ', $(document.activeElement).attr('id') + ' Tag: ' + $(document.activeElement).prop('tagName')
+ ' C: ' + $(document.activeElement).attr('class'));
}, 2000);
你会看到元素的标签是'BODY'元素.如何使用Javascript将焦点恢复到相同的元素,因为,这样的事情$('body').focus();
不起作用.
编辑:它还应该重置文档的"焦点"流程.因此,单击TAB后,它将聚焦相同的元素,就像您要刷新页面然后单击TAB一样.
编辑2:我需要重点关注某些操作,如keyDown,重置为默认状态 - 加载页面后的状态.从我的研究中我知道,在你加载页面之后关注的元素是'body',然后在你点击Tab之后,你的网站焦点流中的第一个元素就会聚焦.我不能用$('body')来做那个.focus(); - 它不会聚焦身体,也不会重置文件焦点的当前流量.
编辑3:到目前为止我们已经设法以某种方式body
使用此代码将焦点重置为网站元素:document.activeElement.blur();
所以我的上述脚本会说body
是重点,但它不会重置当前焦点的实际流量,当您使用键盘导航网站时(TAB按钮).可以使用解决方法并选择所需的指定元素,但这不是问题的答案.什么是将网站键盘导航流重置为默认状态而不刷新页面的通用机制?
编辑4: https ://jsfiddle.net/4qjb5asw/5/