2009-08-11 6 views
1

標準的な方法で、フォーカスが要素またはその子要素を離れるときをどのように検出できますか?フォーカスが要素を離れるときを検出する標準的な方法

フォーカスが子要素に入るときに発生するので、blurは実行されません。

IEはこれに非常に便利なイベントのフォーカスアウトを提供します(ぼかしのようなものですが、気泡です)。しかし、どのように標準的な方法で行うことができますか?

編集:明らかに、私が何を意味するのかはっきりしませんでした。

私はこのような構造を持っている:私はフォーカスがその子要素(child1のとchild2の)のいずれかが外の要素に行くために離れたときに調べるために親にイベントハンドラをアタッチする

<div id="parent"> 
    <input type="text" id="child1"> 
    <div id="child2" tabindex="0">yada</div> 
</div> 
<input type="text" id="outside"/> 

を親、例えばidが "外側"のもの。 IEで私はfocusoutイベントにバインドすることでこれを行うことができますが、そのイベントはFirefox(またはW3C DOM)には存在しません。

+1

"子要素"の意味を説明できますか?入力のようなAFAIKフォーム要素は子要素を持つことができません。 – DisgruntledGoat

+0

彼は 'div'要素の子を指していると思います。 'div'要素は、イベントがアタッチされる要素です。 – Trevor

答えて

1

誰もが同じ問題に遭遇した場合に、この問題を解決するためにjQuery focusプラグインを作成しました。

+0

リンクが壊れているようです。 – Trevor

3

私は先に進み、Javascript OnBlur eventを提案しますが、それがあなたが探していたものでないかどうかを明確にしてください。 「どのような子要素なのか」という意味によっては、答えが異なるかもしれません。

関連する問題