問題タブ [event-bubbling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1091 参照

javascript - Javascriptイベントバブリングが期待どおりに機能しない

イベントバブリングを理解しようとする悪夢を持っています。

完全なテストケース

私が理解していることから、赤い境界線の内側の領域をクリックすると、3つのイベントハンドラー(赤、青、本体)がすべてトリガーされ、赤と本体のみがトリガーされます。

の3番目の値を変更して戻り値を変更しようとaddEventListenerしましたが、役に立たなかったのですが、何かアイデアはありますか?

0 投票する
1 に答える
711 参照

apache-flex - フレックスカスタムイベントバブリング

親愛なる Richard Szalay、
バブリングに関するあなたの回答を確認します。バブリングをもっと探求したいと思います。以下の私のサンプルをご覧ください

カスタム イベント クラスで、bubbling=true、cancelable=true を設定します。

前の回答から、バブリングは UI コンポーネントにのみ影響することがわかります。バブル引数が true に設定されていても、カスタム クラスから発生したイベントはバブルしません。

私の質問は、「ロード」(カスタムコンポーネント)のボタンをクリックしたときに panelClickHandler 関数が起動されないようにするにはどうすればよいですか??

バブリングを良い例で説明してください(カスタムイベントクラスでのように)?

0 投票する
0 に答える
369 参照

javascript - イベントのキャプチャとバブリングの違い

違いを教えてください白黒

イベントのキャプチャとバブリング。

0 投票する
2 に答える
2329 参照

jquery - JQuery検証プラグイン:ネストされたフォームでの検証の問題を防止します

検証を使用するフォームがあります。このフォームには、写真をアップロードするためのセクションがあります。最初、このセクションには、次のコードを持つ6つの要素が含まれています。

のクラスのクリックイベントに関数をバインドしましたphoto_upload。この関数は、次のコードを使用して画像を最小限の形式に置き換えます。コードをコピーする

したがって、基本的に、画像をクリックすると、元の検証済みフォームに新しいフォームがネストされます。この新しいフォームを使用して画像をアップロードすると、次のようなエラーが発生します(3回繰り返されます)。

ここで何が起こっているのですか?私の推測はこれです

  1. イベントバブルを外部フォームに送信する
  2. そのフォームに検証があるため、検証がトリガーされます。
  3. 検証は、それをトリガーするフォームを見つけようとします。
  4. 検証を内部フォームにバインドしていないため、「undefined」を返します

さて、私の評価は正しいですか?そうであろうとなかろうと、どうすればこの問題を解決できますか?

0 投票する
1 に答える
491 参照

javascript - 親要素でイベントをキャプチャする

window.eventは、クリックが発生したときにツリーの最下位の要素を報告します。例えば

上記のリンクをクリックし、BODYレベルでonclick listnerを使用している場合、window.eventは「strong」要素がクリックされたことを報告します。同じイベントで、親が実際にどこかを指しているhrefを持つ「アンカー」タグであることをどうやって知ることができますか?つまり、主要な要素が「強い」要素ではなく「アンカー」であることを自動的に知る方法を探しています。これは手動チェックになるため、window.event.target.parentNode.parentNodeを実行できないことは明らかです。クリックイベントの「バブリング」を追うことができる場所かもしれません。

誰か手がかりはありますか?

0 投票する
2 に答える
4017 参照

javascript - JavaScript 例外/エラー処理が機能しない

これを追うのは少し難しいかもしれません。

オブジェクト内に関数があります:

それが呼び出すtryブロック内:

LocalStorageManager.addImage 呼び出し:

localStorage.setItem は、使用されているローカル ストレージが多すぎる場合にエラーをスローします。そのエラーを f_openFRHandler (最初のコード サンプル) でキャッチしたいのですが、catch ブロックではなくエラー コンソールに送信されています。私は自分の Firebug コンソールで次のコードを試して、私が狂っていないことを確認し、多くのレベルの関数の入れ子にもかかわらず期待どおりに動作することを確認しました。

何か案は?

0 投票する
1 に答える
335 参照

jquery - DOM イベント フローにはキャプチャとバブリングの両方があると本に書かれているのはなぜですか? では、イベントは 2 回発生しませんか。

The book Professional Javascript by Zakas には、次のように書かれています。

1) IE はイベント バブリングを使用します
2) Netscape はイベント キャプチャを使用します
3) DOM イベント フローは最初にキャプチャしてからバブリングします

では、イベント ハンドラが 2 回呼び出されることはありませんか? この DOM イベント フローとは何ですか? DOM レベル 2 のイベント処理ですか?

私が理解しているように、次のことは本当ですか?

a) IE 6、7、8 はすべてバブリングを使用します
b) FF、Chrome、Safari、Opera はすべてキャプチャを使用しますか?
c)jQueryは「バブリング」することですべてを同じにします

0 投票する
1 に答える
71 参照

jquery - 「リンク」(または div) と親要素または祖先要素の両方でイベントをリッスンする良い例は何ですか?

ほとんどの場合、リンク、div、またはボタンのイベント リスナーを登録し、そこからすべてを処理するコードを目にします。しかし、イベントのキャプチャとバブリングは、子孫レベルでイベントを処理し、次に祖先レベルでイベントを処理するのに適しています。しかし、2 つの異なる場所で聞きたいと思う良い例は何でしょうか?

0 投票する
2 に答える
4324 参照

wpf - WPFイベントを兄弟要素に渡す方法

Button.MouseDownの投稿を読みました 。続けて、もう1つ質問したいと思います。私のXAMLは次のとおりです。

私のcsは次のとおりです:

マウスの上下イベントをC3からC33に転送するにはどうすればよいですか?基本的に、1人の兄弟からのすべてのイベントが他の兄弟にも到達するようにします。

0 投票する
4 に答える
1719 参照

javascript - jQueryのstopPropagation()を呼び出した後でも、クリックイベントハンドラーが誤ってバブルします

リスト内の「li」要素内のさまざまな要素に対して、さまざまなデリゲートクリックハンドラーを作成しようとしています。例:

ユーザーが(任意のアイテムの)button1をクリックすると、そのイベントを取得して、伝播を停止します(button2インスタンスでも同じ)。親li要素をクリックするユーザーは、別のハンドラーになります。

つまり、1つの問題は、button1インスタンスのデリゲートとbutton2インスタンスのデリゲートをどのように設定するかということです。上記の例の2番目のデリゲートは、ボタンがクリックされたときに起動しますが、親liアイテムのハンドラーが呼び出されるため、event.stopPropagation()は機能しないようです。

- - - アップデート - - - - - - -

また、event.stopImmediatePropagation()を呼び出そうとしましたが、効果はありませんが、親ハンドラーも呼び出されています。

ありがとうございました