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

标签 javascript firefox firefox-addon xul

我正在使用 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()

关于javascript - 我怎么知道给定的 XULElement 是否有焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8955184/

相关文章:

javascript - 如何使用 Reactjs 中的按钮重定向到另一个页面

firefox - 以编程方式确定Firefox中每个选项卡的内存使用情况?

javascript - 从 Firefox 浏览器扩展触发事件?

javascript - 数据 双向切换文本

javascript - 无法使用 jQuery 更改属性值

javascript - 为什么 HTML5 地理定位在不同的 Web 浏览器中出现不一致的错误行为

firefox - 在 Jenkins 中执行 Selenium HTML 测试套件无法在 Firefox 上启动

java - Firefox 在不可见时会杀死 Java 小程序

javascript - 从 Firefox 扩展访问 DOM 函数

javascript - 在 Redux 中更新存储以获取引用字段