6

イベントはバブルアップするだけですが、親要素でカスタムイベントをトリガーし、リスナーがバインドされている場合は、その子のすべてのハンドラーを呼び出す必要がある場合があります。jQueryでこれを行う最良の方法は何ですか?

4

1 に答える 1

3

これまでのところ、私はこれを思いつきました:

$(startingParentElement).addBack().find('*').each(function(index,element){ 
    $(element).triggerHandler('myCustomEventName');
});
  • triggerHandler()は、イベントがバブルバックしないことを保証します
  • 一致したコレクションの最初のアイテムに対してのみtriggerHandler()が実行されるため、 each()が必要です。
  • addBack()は、 startingParentElementにバインドされたハンドラーも呼び出されるようにします
于 2013-01-14T10:23:36.307 に答える