0

キーボード イベントを処理しないときにユーザーに通知する必要があるアプリがあります。私はdocument.hasFocus()、Firefox と IE では必要に応じて機能する (!) が、Chrome では機能しない を常に監視しています。

ロケーション バーから開始すると、document.hasFocus()false が返されます。ITABの場合、プラグイン インスタンスを含むドキュメントがフォーカスを取得し、document.hasFocus()true を返します。ここでTAB再び、プラグイン (この場合は Silverlight) がフォーカスを取得し、document.hasFocus()false を返します。

おそらくそれは正しい動作であり、他の 2 つのブラウザーは誤って true を返していますが、その場合、ブラウザー ウィンドウにフォーカスがあることをどのように知ることができますか?

4

1 に答える 1

1

次のように試すことができます:

var hasFocus = false,
    toggleFocus = function() {
        hasFocus = !hasFocus
    };
window.addEventListener( 'focus', toggleFocus );
window.addEventListener( 'blur', toggleFocus );
于 2012-05-28T21:08:18.210 に答える