3

quirksmode によると、最新のブラウザにはキャプチャ段階とバブリング段階があります。こちらをご覧ください。

イベント ハンドラーでstopPropagationを使用すると(ブール値の引数によっていずれかのフェーズに設定されます)、どのように機能しますか?

両方の方法で機能しますか?つまり、キャプチャ モードに設定すると、バブリング フェーズも防止されます。また、その逆も同様です。

これが W3 リファレンス ( stopPropagation ) です。

イベント ハンドラーのトラブルシューティングを行っており、その機能を正確に理解する必要がありstopPropagation()ます。

4

1 に答える 1

5

キャプチャ フェーズ中に伝播を停止すると、バブリング フェーズで登録されたハンドラーを含め、以降のハンドラーが実行されなくなります。

イベントフローに関するW3Cのドキュメントには次のように書かれています(強調は私のものです):

この仕様では、次の 3 つのイベント フェーズが定義されています。キャプチャ フェーズ目標段階; そして泡相。イベント オブジェクトは、以下に定義する部分伝播パスを使用して、指定された順序でこれらのフェーズを完了します。 サポートされていない場合、またはイベント オブジェクトの伝播が停止されている場合は、フェーズをスキップする必要があります。たとえば、 Event.bubbles属性が false に設定されている場合、バブル フェーズはスキップされます。ディスパッチ前に が呼び出された場合Event.stopPropagation()は、すべてのフェーズをスキップする必要があります

于 2013-08-26T12:43:06.903 に答える