1

定義上、document.activeElement はフォーカスのある要素を返す必要がありますが、

$(document.activeElement).is(':focus')

時々 false を返すようです。(Jquery 1.7.2 を使用)

jsFiddle の例

このフィドルを初めて表示すると、結果は true になり、実行ボタンをクリックすると、結果は false になります。

編集: この問題は、ubuntu の Firefox 15 および 10 で再現できます。

誰かがこの動作について説明していますか?

4

1 に答える 1

0

これはFirefoxで発生しています。これは、Firefoxが、前の要素からoutfocusを呼び出す要素に対して関数focusを呼び出す場合と同じ要素に、focusoutとfocusを同時に許可しないためです。

ここで、参照が変更されていないソリューションであるという理由だけで、それがアクティブな要素として表示される理由を考えます。最初にフォーカスアウトを呼び出し、その後、フォーカスを呼び出し、タイムアウトを設定して他の操作を行います。

于 2012-09-14T12:16:26.857 に答える