3

quirksmodeで提案されているのと同様の方法で、blur/focusイベントにイベント委任を実装しようとしています。TFAで説明されているように、ぼかしイベントとフォーカスイベントはバブルしないため、バブリングフェーズではイベント委任を使用できませんが、キャプチャフェーズでは取得できます(JavaScriptイベントは奇妙です)。

とにかく、私が見る限り、jQueryイベントはすべてバブリングフェーズに適用されます。少なくとも、私がいつも使用しているのはここです。jQueryドキュメントでは、この方法に関する情報を確認できません。デフォルトでは、$('#foo')。blur(blurHandler)などを使用しても情報が取得されないようです。

一貫性を保つために、jQueryの使用に固執したいと思います。これを行う方法はありますか?

4

1 に答える 1

3

<input>子孫がフォーカスまたはブラーを取得したときにコンテナがハンドラーをトリガーするようにしたい場合は、とを使用.focusin()してみてください.focusout()

ドキュメントから:

focusinイベントは、その要素またはその中の要素がフォーカスを取得したときに要素に送信されます。これは、親要素でのフォーカスイベントの検出をサポートするという点でフォーカスイベントとは異なります。

focusoutイベントは、その要素またはその中の要素がフォーカスを失ったときに要素に送信されます。これは、親要素からのフォーカスの喪失の検出をサポートする(つまり、イベントのバブリングをサポートする)という点でblurイベントとは異なります。

于 2010-08-13T15:17:03.367 に答える