カーソルフォーカスがテキストフィールドにない場合、何かをするサファリ拡張を作成しようとしています。しかし、フォーカスがテキストフィールドにないかどうかを検出する次のコードは機能しません。フォーカスがテキストフィールドにあるかどうかを検出するJavaScriptコード
if ($(document.activeElement).attr("type") != "text"
&& $(document.activeElement).attr("type") != "textarea") {
..do something
}
重複:http://stackoverflow.com/questions/497094/how-do-i-find-out-which-javascript-element -has-focus – WilHall
'textarea'は' type'属性値ではなく、タグ名です。おそらく、 'document.activeElement.localName ==" textarea "'をチェックすることを意図していました(そう、時にはjQueryを使わない方が簡単です)。 –
'localName'はIE 8以下で実装されていません。 'tagName.toLowerCase()== 'textarea'を使う方が良い(より多くのブラウザと互換性がある) – RobG