問題タブ [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.
jquery - jQuery UI オートコンプリート: 入力時にカスタム項目を選択
オートコンプリートが関連付けられたテキストボックスがあります。また、入力ボックスのテキストに特定の文字が含まれている場合、オートコンプリート ドロップダウンにカスタム要素を追加しています。プラグインの _renderItem 関数をカスタマイズするこのカスタム要素を追加しています。
ユーザーが「someText」を含むものを入力してEnterキーを押すたびに(ドロップダウンで何も選択せずに)、カスタム要素に対してオートコンプリートの「select」イベントが発生するようにします。
テキストボックスに「keyup」イベントのハンドラーを追加しようとしましたが、Enterキーを押すたびにハンドラーが呼び出され(ドロップダウンで選択された要素があったとしても)、「select」からのイベントの伝播をキャンセルできません' オートコンプリートのイベント ハンドラー。(私は e.stopPropagation と e.originalEvent.stopPropagation を試しましたが、それでも「keyup」ハンドラーによって処理されます)。
これを達成する方法についてのアイデアはありますか?ありがとう
events - クリックイベントのあるdiv内のページャーを使用したjQueryサイクル-伝播を停止できません
jQuery Isotope プラグインを使用しています。クリック可能な (最大化/最小化) Isotope 要素ごとに、次のように生成された jQuery Cycle スライドショーが 1 つあります。
ページャー リンクをクリックすると、Isotope 要素が閉じられるため、次のスライドが表示されません:( ページャー クリックの親 (Isotope 要素) への伝播を停止するにはどうすればよいですか? アドバイスをいただければ幸いです。
ps: pagerEvent として「mouseover」を使用すると、機能します。しかし、スライドは 2 回ちらつきます。ですから、それも簡単な方法ではありません。そして - マウスオーバーはスクリーンフォンやタブレットデバイスでは機能しません...
javascript - jQuerystopPropagation-関数が再度起動します
関数の伝播を停止する方法を教えてください。最初のクリックアクションの後で、いくつかの機能を再度起動する必要があります。私はscrollTojqueryプラグインを使用してコンテンツをスクロールし、「起動」ボタンをクリックするとコンテンツがうまくスクロールしますが、これを再度行うことはできません...Thx4ヘルプ。
これは私の機能です:
jquery - 更新されたコードでスライドのトグルを変更してイベントの伝播を停止する方法。
2 つのタブがある jquery 機能があります。
では、各タブがajaxclick
呼び出しを行い、jsp ページを描画します。
2 番目のタブにはスライド トグルがあります。
私の問題は、最初にページが読み込まれたときに2番目のタブをクリックすると、スライドトグルが正常に機能することです。
最初のタブをクリックしてから 2 番目のタブをクリックすると、スライド トグルがすばやく開いたり閉じたりします。
この伝播を止める方法は?
イベント などを試しましたが.preventDefault()
、うまくいきませんでした。 stopPropagation()
die
私が試したコードは以下にあります。スライド トグル メソッドは 1 つの js ファイルであり、他の 2 つは別の js ファイルにあります。
Jsp:
javascript - jqueryUI実行の奇妙な遅延
私はしばらくの間、Webアプリのセクションに取り組んできました。javascriptファイルは非常に大きくなり、そのかなりの部分がjQueryUI要素とイベントの初期化と処理を担当しています。読みやすく保守しやすくするために、UI初期化子とイベントハンドラーを別のファイルに分割しました。このファイルは、firebugのnetタブで確認されているように、ロジックファイルの前にロードされます。
UI要素を分割したので、ボタンとチェックボックスが、イベントが初めて発生する前に、シングルクリックトリガーからダブルクリックに変更されていることに気付きました。その後、シングルクリックでイベントが実行されます。再確認するために、イベントハンドラー内にロギングステートメントを設定しましたが、2回目のクリックまで出力されません。
これは、htmlページのスクリプト宣言です。
onload
setCoordinatesで定義され、ui_initilizationでsetupElements
起動します。
たとえば、htmlでチェックボックスを次のように定義します
クリックイベントを次のように処理しui_initilization.js
ます
最初のクリックは何もせず、loggingステートメントは表示されません。2回目のクリックで、イベントが発生します。
これを修正する方法はありますか?
jquery - jQueryのマウスアップが正しく検出されない
スパンを含む div があります。divを押したときに発生するマウスアップおよびマウスダウンイベントがあります。ただし、正しく動作しません。
このフィドルにアクセスしてください: http://jsfiddle.net/Ym7rM/
テキストを選択してドラッグしようとすると、マウスダウン イベントは検出されますが、マウスアップ イベントは検出されません。
私は何を間違っていますか?私はクロムを使用しています。
ありがとう
編集:
申し訳ありませんが、質問を単純化しました。新しいフィドルを参照してください。
javascript - jQueryイベント処理/伝播/バブリング?
Web サイトのメニューを作成しようとしています。これには jQuery を使用していますが、少し問題が発生しました。
私はこの構造を持っています
そしてjQueryでは、私は持っています
ユーザーが menuNode にカーソルを合わせると、menuSelect が表示されるはずですが (表示されます)、menuAnchor またはスパンにカーソルを合わせると、mouseout イベントが発生し、次に mouseover イベントが発生します。
したがって、たとえば、マウスを menuNode の上に置き、スパンに移動してから menuNode に移動すると、mouseover イベントが 3 回発生します。以前にクリック イベントでこの動作が発生したことがありますが、これを解決するために使用された方法は、この問題では機能しないようです。
助言がありますか?
jquery - jQueryによる特定のdivへのキーイベントの伝播の停止
HTMLに次の構造があり、コンテンツdiv内のいくつかの要素にさまざまなキー(押す、上、下)イベントがあるとします。
jQueryによって絶対位置のdivを追加します。
一時的に(ライトボックスが存在する間)、すべてのキーボードイベントがキャッチされたり、その子だけ にバブリングされたりしないようにするにはどうすればよいですか$('#content')
。これにより、上記の構造のライトボックスが存在する場合のバブリング順序は次のようになります。
$('#lightbox *')
$('#lightbox')
$('body')
$('html')
一方、
$('#content *')
$('#content')
$('body')
$('html')
ライトボックスがなくなったとき?
編集:ここにいくつかの追加情報があります。
すべてのフォーム要素を無効または読み取り専用にすることはできません(これはとにかく限られた要素に適用されます)。ライトボックスは、一意のキーイベントをすでに割り当てている多くのフォーム要素の上に存在する場合があるためです。
また、キーイベントがウィンドウ+(ライトボックスがある場合はそれ以外の場合はコンテンツ)に影響を与えるようにしたいので、すべてのイベントの伝播を直接停止することはできません
上記の順序は、1-4ではなく4-1にすることができますが、問題ではありません。重要なのは、重要なイベントでこの特定の要素のコンテンツ(ライトボックスまたは状況に応じたコンテンツ)をバイパスすることです。
javascript - stopPropgation は、キャプチャ フェーズでのイベントの伝播を停止しますか?
http://www.quirksmode.org/js/events_order.htmlを見ていましたが、この部分があいまいです:
cancelBubble
Microsoft モデルでは、イベントのプロパティを に設定する必要がありますtrue
。
stopPropagation()
W3C モデルでは、イベントのメソッドを呼び出す必要があります。これにより、バブリング フェーズでのイベントの伝播がすべて停止します。
だから私の質問は:
- イベント リスナーがキャプチャ フェーズでリッスンするように設定されている場合、内部要素への伝播は自動的に続行されませんか?
- または、伝播を続ける場合、呼び出しはそれを
e.stopPropagation()
停止しますか、それともバブル段階でのみ機能しますか?
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 を停止する方法はありますか?