我怎么知道给定的XULElement是否有焦点

How can I know if a given XULElement has the focus or not

本文关键字:是否 焦点 XULElement 我怎么知道      更新时间:2023-09-26

我使用的是一个firefox插件Keysnail。Keysnail在底部添加了一个提示(xul:textbox),我想知道焦点是否在这个提示上。

做了一项研究并找到了一种使用document.activeElement的方法,但它不起作用。当焦点在提示上时,document.activeElement返回HTMLInputObject,而通过document.getElementByID获取文本框返回XULElement

document.activeElement是获得聚焦元素的正确方法。它为您返回意外值的原因是,每个xul:textbox标记都有一个匿名(意思是:对常用DOM方法不可见)html:input标记作为其子标记,键盘输入实际上由该html:input标记处理。document.getElementById("textbox-id").inputField将为您提供此HTML输入字段。或者你可以反过来:document.getBindingParent(document.activeElement)应该给你xul:textbox元素。

文档:document.activeElement,document.getBindingParent()