重複の可能性:
どのhtmlページ要素にフォーカスがあるかを判断する方法は?
どのJavascript要素にフォーカスがあるかを確認するにはどうすればよいですか?
ドキュメント内のどの要素が現在フォーカスされているかを判断する方法はありますか?理想的には、これまでの要素をウォークスルーする必要はありません。
重複の可能性:
どのhtmlページ要素にフォーカスがあるかを判断する方法は?
どのJavascript要素にフォーカスがあるかを確認するにはどうすればよいですか?
ドキュメント内のどの要素が現在フォーカスされているかを判断する方法はありますか?理想的には、これまでの要素をウォークスルーする必要はありません。
複製:
短編小説:
一部のブラウザ(元々はIEのみでしたが、Firefox 3とSafariはワゴンに飛び乗った)は、このdocument.activeElement
プロパティをサポートしており、これにより、必要な機能を実現できます。
古いブラウザの場合、プロパティをエミュレートするには次のハックが必要です。
function _dom_trackActiveElement(evt) {
if (evt && evt.target) {
document.activeElement = evt.target == document ? null : evt.target;
}
}
function _dom_trackActiveElementLost(evt) {
document.activeElement = null;
}
if (!document.activeElement) {
document.addEventListener("focus",_dom_trackActiveElement,true);
document.addEventListener("blur",_dom_trackActiveElementLost,true);
}
onfocusをボディ要素にアタッチして、フォーカス変更イベントをバブルアップさせることができます