問題タブ [event-propagation]

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 に答える
4575 参照

events - QML - マウスが押されたイベントを受け入れないと、マウスがリリースされたイベントを取得できません

onPressed イベントを QML ツリー内の後続のオブジェクトにディスパッチしたい (mouse.accepted = false を指定し、propagateComposedEvents: true を指定した) が、onreleased イベントを最上位の要素で動作させたい..ここにコード:

私が期待するもの:

qml: R1 が押された qml: R2 が押された qml: R1 がリリースされた qml: R2 がリリースされた

私が得るもの:

qml: R1 が押された qml: R2 が押された qml: R2 が解放された

どうすれば解決できますか?

よろしくお願いいたします。

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

qt - イベントはどのように伝播されますか?

メインウィンドウがあります。中央ウィジェットとドッキング ツリー ウィジェットがあります。ツリー項目を右クリックすると、コンテキスト メニューがポップアップします。ツリーのどこかを右クリックして、メニューの外に出ると、マウス イベントが生成されます。マウスイベントはどのように伝播しますか? メニューから始めますか?その後 ...?

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

javascript - イベントキャプチャが必要/好まれる実世界の例?

DOM メソッドは、3 番目のオプションのaddEventListenerブール パラメーター (useCapture) をサポートし、関数がイベントバブリングまたはイベントキャプチャを伝播方法として使用するかどうかを示します。この記事では、違いがうまく示されています (例をクリックしてコードを表示してください)。

SO とブログ投稿に関する他の質問から、IE8 がサポートしていないため、イベント バブリングが好まれると結論付けました。

IE9+ のみをサポートする必要があるとします。どのような状況で、イベントのバブリングよりもイベントのキャプチャが必要または優先されるのでしょうか? 言い換えれば、イベントを最初に最も外側の要素で実行し、次に最も内側の要素で実行する方がよい状況は何でしょうか? イベントキャプチャの使用法を示すために、単純で実世界の例を探しています...

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

ember.js - コールバック関数内で Ember アクションをバブルアップするにはどうすればよいですか?

Ember アプリケーションがあり、アクションを使用して CSS アニメーションを適用しています。アニメーションが完了したら、コントローラーからルートにアクションをバブルアップして、さらなる機能を処理したいと考えています。

here でreturn: true;説明されているように、アクションがバブルアップすることはわかっています。

これは私のコントローラーがどのように見えるかです:

コールバックで何かをコンソールに記録すると、animationendそれが機能していることを確認でき、コールバックの外に移動するとreturn: true;、アクションが正常にバブルアップします。ただし、コールバック内で true を返すことはできません。

私は何が欠けていますか?

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

javascript - Javascript イベントの伝播が期待どおりに機能しない

2 秒経ってもイベントが発生しないのはなぜですか? (決して発火しません)

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

jquery - IE8 jQuery の伝播 - 画面上の任意の場所をクリックすると、スクロールがアクティブになります

この jQuery コードは、IE8 を除くすべてのブラウザーでうまく機能します。IE8 でページの任意の場所をクリックすると、リンク、div、または空白のいずれかをクリックすると、スクロール イベントがアクティブになります。これは伝播の問題だと思います.jQueryの特定のチャンクに突き止めました(以下のjQueryのコメントを参照)が、IE8で正しく動作するように変更する方法がわかりません. 明らかに、選択した要素がクリックされたときにのみスクロールする必要があります。

jQuery:

HTML

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

javascript - jQuery '.click(callback)' はデフォルトのイベントを防ぎます

フォームボタンのダブルクリックを防ぎ、要素を数秒間無効にしようとしています。

有効化/無効化には成功しますが、.click()関数を使用すると (自動的に? O_o) イベントの伝播が妨げられ、ページはフォームアクション属性のリンクをたどりません。

以前は完全に機能していたフォームボタンに動作を追加しようとしていることに注意してください( acitonリンクに投稿します)。また、有効化/無効化は完全に機能します(上記のコードの適応で発生した可能性のある最終的なエラーに関係なく)。

PS - すべてのソリューションはクロスブラウザーであり、IE8 と互換性がある必要があります。

0 投票する
5 に答える
21104 参照

javascript - AngularJS:ng-clickからのイベント伝播を停止するには?

次のようなディレクティブがあります。

はい、この場合は jQuery-way バインディングを行う必要があります。

そして、何らかの条件が満たされた場合に、このイベント (クリック) の伝播を停止したいと考えています。

やろうとした:

しかし、それは役に立ちませんでした。

たとえば、ここでフィドル - http://jsfiddle.net/STEVER/5bfkbh7u/