問題タブ [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 に答える
5247 参照

keyboard-shortcuts - Vaadin でのショートカットの使用に関する問題

テーブルのショートカットに問題があります。いくつかのキーをカスタマイズする必要があります: delete - 行を削除し、Enter でテーブルを編集可能/編集不可にし、上/下矢印でテーブルのモードを編集可能から編集不可に切り替えます。テーブルを透明なパネル内に配置し、Action.Handler を使用してキーボード イベントをキャッチします。しかし、私が TextField、TextArea、Combobox 内に書いているとき、私はイベントをこのコンポーネントに伝播したかった (TextField のテキストを削除するためにそれを使用して削除キーの無効化を処理し、上/下キーはキーボードで Combobox を開くことを許可しない)。handleAction() メソッドで target パラメーターを見ましたが、その使用方法がわかりません。置き換える代わりにショートカットを追加する方法を知ることも興味深い.

それを行う方法はありますか?

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

jquery - ライブ/デリゲート リスナーによってトリガーされたイベントが子プロセスに伝播されないようにするにはどうすればよいですか?

特定のクラスを持つ子のセットでクリック イベントをリッスンする委任の親があります。

これがhtmlの例です

問題は、子がa.toggleイベントを親に伝達し、ハンドラーをトリガーしてはならないときに発生することです。jQuery docs によると、ライブ/委任されたイベントリスナーでイベントの伝播を停止することはできません。

これらの a.toggle のサブ子がイベントを親に伝播するのを止めるにはどうすればよいですか? または、場合によっては許可しますか?

の内側の div が.toggleドロップダウン メニューであることがわかります。メニューをクリックしたときにトグルするべきではなく、トグルリンクをクリックしたときにのみ...

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

javascript - Jquery - トグルされた要素内のハイパーリンクを修正する

私が持っているいくつかの Jquery スクリプトに問題があり、誰かが私を正しい方向に向けてくれることを願っています。

最初は非表示になっているリージョンがありますが、クリックすると内容が表示され、もう一度クリックすると内容が非表示になります。この領域内には、一連のハイパーリンクがあります。私が直面している問題は、これらのリンクがクリックされたときに、他の場所にリダイレクトするのではなく、コンテナーが再び閉じていることです。これが発生する理由はわかりますが、修正方法がわかりません。

関数:-

呼び出し:-

html:-

H2 を対象としたクリック アクション内に "The call" をラップしようとしましたが、コンテナーが自動的に開閉するという奇妙な効果があったため、どうすればよいかわかりません。

0 投票する
3 に答える
2638 参照

jquery - イベントのバブリングを停止します-パフォーマンスを向上させますか?

falseイベントコールバックから戻っていない場合、またはe.stopPropagationjQueryの機能を使用していない場合、イベントはDOMをバブルアップします。

ほとんどのシナリオでは、イベントがバブルするかどうかは気にしません。このDOM構造の例のように:

通常、私は次のような複数のネストされた送信コールバックを持っていません:

Fiddle
That DEMOはsubmitイベントバブルを<div>
伝播を停止するか、デフォルトを防ぐだけでも、私には違いはありません。

これらのシナリオでは、伝播を停止すると、パフォーマンス上のメリットが得られますか?

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

jquery - Why does redirect happen before my jquery click event is fired for a html anchor element?

I'm trying to trigger the OnBeforePageUnload only when the user closes the tab or browser window. When the user navigates on my website, I have a custom mechanism that will trigger a warning dialog to prevent the user from losing entered data. So every time a link on my page has been clicked, I set the a flag:

Then, the onbeforepageunload event is triggered. I check the value of the flag to see if I should show the built in onbeforeunload dialog or not:

This works fine for all my links on the page except for the following one:

These html is created by a custom web control. When i click on the link, i get redirected to the otherPage without the click event has been triggered. So i cannot set the flag and the built in onbeforeunload message is shown.

When I add an inline add the onclick attribute directly in the control like this:

Everything works fine. But that's not the way i want to resolve this.

Can someone explain to me what mistake i'm making here?

I have been looking and trying a lot of code but with no success.

I found this post Preventing Links before jQuery is Loaded but i don't know if this has anything to do with my problem because i only have it with one link.

Thanks in advance for any help.

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

javascript - Javascript(jQuery)イベントが失敗します。どうすればこれを修正できますか?

この(jQuery)関数はとで呼び出されjQuery(document).readyますjQuery(document).resizeready条件では問題なく動作しますがresize、イベントでは少し厄介になります。これらは機能を継承するか、slideToggleの場合はサイズ変更ごとに起動するように見えます。

私は何が間違っているのですか?私はイベントの伝播を殺そうとしましたが、役に立ちませんでした。

編集:

これは次の後に実行されます。

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

jquery - stopPropagation() 「イベントが DOM ツリーをバブリングするのを防ぎます」: どういう意味ですか?

e.stopPropagation() が何をするのかよくわかりません。

ハンドラーを使用するリンクがある場合、return false必要なものを取得する必要があります (デフォルトのリンク動作を防止するため、次の href の場所を「呼び出す」ことはありません):

e.stopPropagation()何を追加できますか?e.stopPropagation()何ができるかを示す確かな例を教えてください。

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

javascript - Google Maps API v3 で効果的にイベントの伝播を有効にする

既存の質問で説明されているように、カーソルの現在の位置で div を更新し続けるコードがあります。

カーソルがオーバーレイ上に移動するまで、見事に機能します。オーバーレイはイベントを消費するため、マップで定義したイベント リスナーは起動しません。

質問:

  1. 作成するすべてのオーバーレイでそのリスナーを再定義する必要がありますか、それとももっと簡単な方法がありますか?

  2. すべてのオーバーレイにリスナーを定義しなければならない場合、パフォーマンスに影響を与えずに、おおよそいくつのオーバーレイを使用できますか?

オーバーレイはインタラクティブであるためclickable、false に設定することはできません。

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

javascript - jQueryを使用してクリック時に要素を非表示にできないのはなぜですか?

jqueryとcssでdivを見せたり消したりしたい。コードが機能しません:

HTML

jQuery

デモ: http://jsfiddle.net/jTgRF/41/