イベントはバブルアップするだけですが、親要素でカスタムイベントをトリガーし、リスナーがバインドされている場合は、その子のすべてのハンドラーを呼び出す必要がある場合があります。jQueryでこれを行う最良の方法は何ですか?
質問する
1019 次
1 に答える
3
これまでのところ、私はこれを思いつきました:
$(startingParentElement).addBack().find('*').each(function(index,element){
$(element).triggerHandler('myCustomEventName');
});
- triggerHandler()は、イベントがバブルバックしないことを保証します
- 一致したコレクションの最初のアイテムに対してのみtriggerHandler()が実行されるため、 each()が必要です。
- addBack()は、 startingParentElementにバインドされたハンドラーも呼び出されるようにします
于 2013-01-14T10:23:36.307 に答える