2012-01-21 20 views
1

私はfirefox addonキーを使用しています。 Keysnailは、下部にプロンプ​​ト(xul:textbox)を追加します。このプロンプトにフォーカスがあるかどうかを知りたいと思います。特定のXULElementにフォーカスがあるかどうかを確認するには

document.activeElementを使用して調査したところ、機能していませんでした。 document.getElementByIDでテキストボックスを取得中にプロンプ​​トにフォーカスがあるときは、HTMLInputObjectが返され、XULElementが返されます。

答えて

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()

+0

おかげでたくさん!それは働いた:) – rio

+0

また、ドキュメントリンクのおかげで – rio

関連する問題