gpt4 book ai didi

javascript -
    元素如何接收焦点事件?

转载 作者:太空狗 更新时间:2023-10-29 15:36:39 24 4
gpt4 key购买 nike

我正在运行以下代码来跟踪在 HTML 文档中获得焦点的每个控件的标签名称:

$(function() {
$("*").bind("focus", function() {
console.log("tabbed " + this.tagName);
});
});

当它运行时,我可以观察 firebug 控制台并看到它跟踪像“A”和“INPUT”这样的标签,我希望在我浏览文档时获得焦点。然而,它也跟踪一个“UL”标签。该文档有多个 UL 标签,但似乎只有这个 UL 标签获得焦点。

知道这是怎么发生的吗?具有焦点的 UL 标签没有属性(名称、ID 等),所以我不知道它会如何被其他脚本修改。

(在 firefox 中运行。我正在查看的页面非常大,所以我没有包括源代码,但是 UL 标签没有属性,包含一些 LI,其中一个 LI 确实包含一个标签)。

根据 Which HTML elements can receive focus? ,可能是因为某些脚本在该 UL 标签上设置了 tabindex。不过我找不到任何这样的脚本。

请注意,我并不是要弄清楚如何使 UL 可聚焦,而是要弄清楚它为什么可聚焦。

最佳答案

处理焦点完全取决于浏览器的实现。

但是您可以通过添加 tabindex 属性强制关注 html 元素,例如:

<ul tabindex="1">
<li>item</li>
<li>item</li>
</ul>

<ul tabindex="2">
<li>item</li>
<li>item</li>
</ul>

这个“hack”应该强制 UL 元素可聚焦(对我有用)

关于javascript - <ul> 元素如何接收焦点事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1948241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com