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

时间:2012-01-21 17:50:00

标签: javascript firefox firefox-addon xul

我正在使用firefox插件Keysnail。 Keysnail在底部添加提示符(xul:textbox),我想知道焦点是否在此提示符下。

进行了一项研究并找到了使用document.activeElement的方法,但它无效。 当{8}获取文本框时,document.activeElement会在焦点位于提示时返回HTMLInputObject,会返回document.getElementByID

1 个答案:

答案 0 :(得分:2)

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

文档:document.activeElementdocument.getBindingParent()