問題タブ [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 投票する
2 に答える
4869 参照

javascript - Javascript/jquery、(x,y) のすべての div の場所を取得します。タッチを転送しますか?

重複の可能性:
クリックした位置にあるすべての要素のリストを取得する方法は?

を使用して、最高の z-index を持つ要素を取得できることを知っていdocument.elementFromPoint(x,y)ます。

問題は、タッチ イベントの場所を含むすべての div を取得する必要があることです。

下の要素にタッチを伝播するにはどうすればよいですか?

イベントの再生成中に要素を表示/非表示にするハックなソリューションや、css を使用したポインターイベント スタイルを見てきましたが、これらを使用することはできず、ちらつきが発生する可能性があります...

次の図は、私が何をする必要があるかを示しています。

紫、緑、青のボックスが div 要素を表し、赤い点がタッチ位置である場合、「div3、div2、div1」を返す関数が必要です。

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

javascript - onclick または onmousedown を使用せずに、アンカーの href 属性内からイベントの伝播を停止する方法

制限により、私は完全に避けていますが、特定の状況では、achor タグの href 属性で javascript: 構文を使用する必要があります。

(説明: 私の CMS では、リッチ テキスト エディターを使用して、ユーザーがリンクを含むテキスト要素を変更できるようにしています。場合によっては、特定の javascript: 呼び出しが必要であり、リンク編集機能から onclick を完全に禁止しています (プロセスを簡素化するため)。ただし、onclick イベントに反応するブロック内にリンクの 1 つが表示されると、ダブルファイアが発生します)。

このような:

私の問題は、このリンクが onclick イベントに既に反応するコンテナー内にあることです。したがって、イベント オブジェクトを doSomething() メソッドに渡して、jQuery の

方法。

残念ながら、しかし、イベントオブジェクトを渡すようです

まったく機能していないようです。Firefox はReferenceError: event is not definedを報告しますが、Safari は何も言いません。

href="" はスクリプト開始属性 (onclick など) ではないため、これが当てはまると思います。問題は、この状況では、既に行っていることを超えてタグにアクセスできないことです。

したがって、私はどちらかが必要です

1.) href 属性内から doSomething() 関数にイベント オブジェクトを渡す方法

また

2.) 他の方法で (クリックされた後) そのアンカーでイベントの伝播を停止する方法。

建設的なご意見ありがとうございます。

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

jquery - ページjqueryの任意の場所をクリックすると、動的に作成されたメニューを非表示にします

ユーザーがページのどこかをクリックするたびに非表示にする必要があるページに、動的に作成されたメニューがいくつかあります。これは、ユーザーがメニューをクリックするか、別のメニューを開こうとした場合に機能する必要があります。

また、非表示が完了したら、イベント ハンドラーが自分自身をアンバインドするようにします。私はdocument.on()1つを使用して解決策を見つけましたが、ハンドラーをDOMのさらに下にあるものone()に制限したいと本当に思っています。document問題は、それが私のコードを壊すことです。

エレガントなソリューションの助けをいただければ幸いです。

私がこれをしたい主な理由は、次のようなことを防ぐことができるようにするためevent propagationです:

伝播の失敗 DEMO

伝播成功、one()クリックハンドラ DEMO失敗

Javascript

HTML

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

android - イベントの上方または下方への伝搬

画面上のボタンをクリックすると、イベントはどのように展開しますか? イベントを親に渡すオプションがあるボタンで始まりますか?

または、親が最初にイベントを受け取り、ボタンに到達するまで子に渡しますか?

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

javascript - JavaScript は body 要素でのタッチ移動を防止し、他の要素で有効にします

しかし、非常に簡単に言えば、ボディ要素の touchmove イベントを防ぎたいのですが、別の要素に対しては有効にしたままにします。うまく無効にできます...しかし、別の場所で再度有効にする方法がわかりません!

以下return trueは の反対であるため、理論的には機能すると思いますpreventDefaultが、私には機能しません。$altNav要素が入っ $bodいるからでしょうか?

JS:

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

jquery - 別のボタンによってトリガーされるイベントをどのように発生させ続けるのですか。

だから私は複数の送信ボタンを持っています。

そして、私はjqueryイベントを持っています

今、続行をクリックすると、addItem などの発火を継続できるようにしたい... (そのページにもっと多くのボタンを配置でき、$(this).closest("form") を使用できないため、どの項目が押されているかわかりません。

どうすればいいですか?

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

jquery - 異なるアクションをアクティブ化するjQueryの親と子のdiv

その中に多くのコンポーネントを含む要素があります。この要素ボックスを呼び出しましょう。ボックスの中には、さまざまな要素、画像、テキスト、ボタンがあります。

例: http://jsfiddle.net/roman_khrystyny​​ch/ FSCRH /

HTML:

jQuery:

問題は、ボタンをクリックすると、ボックス要素もそのアクションをアクティブにすることです。基本的に、ボタンをクリックしても通常のボックスアクションは発生せず、代わりにボタンアクションが発生するという例外が必要です。助言がありますか?

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

xcode - ココアはクリックを無視しますが、それでも登録しますか?

cocoa で (のように) クリックスルー ウィンドウを使用することはできますが_window.ignoreMouseEvents = TRUE、ウィンドウの上でマウスがクリックされたことを検出することはできますか? または、イベントを無視する代わりに、それらを登録し、何らかの方法でそれらを転送し、ウィンドウの背後にあるものに伝播しますか?

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

jquery - 折りたたみ要素に関するjQueryの伝播の問題

Bootstrap の .collapse イベント 'shown' および 'hidden' に依存する jQ ロジックがいくつかあり、折りたたみ可能な要素の 1 つの内部には折りたたみ可能な行を持つテーブルがあります。サブ折りたたみの行が表示または非表示になると、親 Div の表示/非表示イベントも発生します。

#carriers のすべてが API によって返されます。返されるもののサンプルを次に示します。

セクション HTML は次のとおりです。

そして、ここにjQueryがあります: