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

jquery - jQuery UI オートコンプリート: 入力時にカスタム項目を選択

オートコンプリートが関連付けられたテキストボックスがあります。また、入力ボックスのテキストに特定の文字が含まれている場合、オートコンプリート ドロップダウンにカスタム要素を追加しています。プラグインの _renderItem 関数をカスタマイズするこのカスタム要素を追加しています。

ユーザーが「someText」を含むものを入力してEnterキーを押すたびに(ドロップダウンで何も選択せずに)、カスタム要素に対してオートコンプリートの「select」イベントが発生するようにします。

テキストボックスに「keyup」イベントのハンドラーを追加しようとしましたが、Enterキーを押すたびにハンドラーが呼び出され(ドロップダウンで選択された要素があったとしても)、「select」からのイベントの伝播をキャンセルできません' オートコンプリートのイベント ハンドラー。(私は e.stopPropagation と e.originalEvent.stopPropagation を試しましたが、それでも「keyup」ハンドラーによって処理されます)。

これを達成する方法についてのアイデアはありますか?ありがとう

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

events - クリックイベントのあるdiv内のページャーを使用したjQueryサイクル-伝播を停止できません

jQuery Isotope プラグインを使用しています。クリック可能な (最大化/最小化) Isotope 要素ごとに、次のように生成された jQuery Cycle スライドショーが 1 つあります。

ページャー リンクをクリックすると、Isotope 要素が閉じられるため、次のスライドが表示されません:( ページャー クリックの親 (Isotope 要素) への伝播を停止するにはどうすればよいですか? アドバイスをいただければ幸いです。

ps: pagerEvent として「mouseover」を使用すると、機能します。しかし、スライドは 2 回ちらつきます。ですから、それも簡単な方法ではありません。そして - マウスオーバーはスクリーンフォンやタブレットデバイスでは機能しません...

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

javascript - jQuerystopPropagation-関数が再度起動します

関数の伝播を停止する方法を教えてください。最初のクリックアクションの後で、いくつかの機能を再度起動する必要があります。私はscrollTojqueryプラグインを使用してコンテンツをスクロールし、「起動」ボタンをクリックするとコンテンツがうまくスクロールしますが、これを再度行うことはできません...Thx4ヘルプ。

これは私の機能です:

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

jquery - 更新されたコードでスライドのトグルを変更してイベントの伝播を停止する方法。

2 つのタブがある jquery 機能があります。
では、各タブがajaxclick呼び出しを行い、jsp ページを描画します。
2 番目のタブにはスライド トグルがあります。

私の問題は、最初にページが読み込まれたときに2番目のタブをクリックすると、スライドトグルが正常に機能することです。

最初のタブをクリックしてから 2 番目のタブをクリックすると、スライド トグルがすばやく開いたり閉じたりします。

この伝播を止める方法は?

イベント などを試しましたが.preventDefault()、うまくいきませんでした。 stopPropagation()die

私が試したコードは以下にあります。スライド トグル メソッドは 1 つの js ファイルであり、他の 2 つは別の js ファイルにあります。

Jsp:

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

javascript - jqueryUI実行の奇妙な遅延

私はしばらくの間、Webアプリのセクションに取り組んできました。javascriptファイルは非常に大きくなり、そのかなりの部分がjQueryUI要素とイベントの初期化と処理を担当しています。読みやすく保守しやすくするために、UI初期化子とイベントハンドラーを別のファイルに分割しました。このファイルは、firebugのnetタブで確認されているように、ロジックファイルの前にロードされます。

UI要素を分割したので、ボタンとチェックボックスが、イベントが初めて発生する前に、シングルクリックトリガーからダブルクリックに変更されていることに気付きました。その後、シングルクリックでイベントが実行されます。再確認するために、イベントハンドラー内にロギングステートメントを設定しましたが、2回目のクリックまで出力されません。

これは、htmlページのスクリプト宣言です。

onloadsetCoordinatesで定義され、ui_initilizationでsetupElements起動します。

たとえば、htmlでチェックボックスを次のように定義します

クリックイベントを次のように処理しui_initilization.jsます

最初のクリックは何もせず、loggingステートメントは表示されません。2回目のクリックで、イベントが発生します。

これを修正する方法はありますか?

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

jquery - jQueryのマウスアップが正しく検出されない

スパンを含む div があります。divを押したときに発生するマウスアップおよびマウスダウンイベントがあります。ただし、正しく動作しません。

このフィドルにアクセスしてください: http://jsfiddle.net/Ym7rM/

テキストを選択してドラッグしようとすると、マウスダウン イベントは検出されますが、マウスアップ イベントは検出されません。

私は何を間違っていますか?私はクロムを使用しています。

ありがとう

編集:

申し訳ありませんが、質問を単純化しました。新しいフィドルを参照してください。

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

javascript - jQueryイベント処理/伝播/バブリング?

Web サイトのメニューを作成しようとしています。これには jQuery を使用していますが、少し問題が発生しました。

私はこの構造を持っています

そしてjQueryでは、私は持っています

ユーザーが menuNode にカーソルを合わせると、menuSelect が表示されるはずですが (表示されます)、menuAnchor またはスパンにカーソルを合わせると、mouseout イベントが発生し、次に mouseover イベントが発生します。

したがって、たとえば、マウスを menuNode の上に置き、スパンに移動してから menuNode に移動すると、mouseover イベントが 3 回発生します。以前にクリック イベントでこの動作が発生したことがありますが、これを解決するために使用された方法は、この問題では機能しないようです。

助言がありますか?

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

jquery - jQueryによる特定のdivへのキーイベントの伝播の停止

HTMLに次の構造があり、コンテンツdiv内のいくつかの要素にさまざまなキー(押す、上、下)イベントがあるとします。

jQueryによって絶対位置のdivを追加します。

一時的に(ライトボックスが存在する間)、すべてのキーボードイベントがキャッチされたり、その子だけ にバブリングされたりしないようにするにはどうすればよいですか$('#content')。これにより、上記の構造のライトボックスが存在する場合のバブリング順序は次のようになります。

  1. $('#lightbox *')
  2. $('#lightbox')
  3. $('body')
  4. $('html')

一方、

  1. $('#content *')
  2. $('#content')
  3. $('body')
  4. $('html')

ライトボックスがなくなったとき?

編集:ここにいくつかの追加情報があります。

  • すべてのフォーム要素を無効または読み取り専用にすることはできません(これはとにかく限られた要素に適用されます)。ライトボックスは、一意のキーイベントをすでに割り当てている多くのフォーム要素の上に存在する場合があるためです。

  • また、キーイベントがウィンドウ+(ライトボックスがある場合はそれ以外の場合はコンテンツ)に影響を与えるようにしたいので、すべてのイベントの伝播を直接停止することはできません

  • 上記の順序は、1-4ではなく4-1にすることができますが、問題ではありません。重要なのは、重要なイベントでこの特定の要素のコンテンツ(ライトボックスまたは状況に応じたコンテンツ)をバイパスすることです。

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

javascript - stopPropgation は、キャプチャ フェーズでのイベントの伝播を停止しますか?

http://www.quirksmode.org/js/events_order.htmlを見ていましたが、この部分があいまいです:

cancelBubbleMicrosoft モデルでは、イベントのプロパティを に設定する必要がありますtrue

stopPropagation()W3C モデルでは、イベントのメソッドを呼び出す必要があります。

これにより、バブリング フェーズでのイベントの伝播がすべて停止します。

だから私の質問は:

  • イベント リスナーがキャプチャ フェーズでリッスンするように設定されている場合、内部要素への伝播は自動的に続行されませんか?
  • または、伝播を続ける場合、呼び出しはそれをe.stopPropagation()停止しますか、それともバブル段階でのみ機能しますか?
0 投票する
1 に答える
1108 参照

jquery - pjaxイベントをキャンセルするには?

私はこのようにpjaxを使用しています(https://github.com/defunkt/jquery-pjaxから):

二。少し目障りで、コンテナを渡し、エラー ハンドラをバインドします。

場合によっては、リンクの通過を妨げるクラスがリンクに含まれていることがあります。<a href='/explore' class='js-pjax no-link'>Explore</a>

そしてそれを止めるコード:

私の問題は次のとおりです。このシナリオでは、return false/preventDefault は pjax の起動を停止しません。

「js-pjax」リンクにも Class('no-link') がある場合に pjax を停止する方法はありますか?