2

重複の可能性:
どのhtmlページ要素にフォーカスがあるかを判断する方法は?
どのJavascript要素にフォーカスがあるかを確認するにはどうすればよいですか?

ドキュメント内のどの要素が現在フォーカスされているかを判断する方法はありますか?理想的には、これまでの要素をウォークスルーする必要はありません。

4

2 に答える 2

9

複製:

短編小説:

一部のブラウザ(元々は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);
}
于 2009-06-17T22:12:08.090 に答える
2

onfocusをボディ要素にアタッチして、フォーカス変更イベントをバブルアップさせることができます

于 2009-06-17T22:13:05.513 に答える