問題タブ [stoppropagation]
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.
event-handling - jqueryライブクリックイベントstopPropagation
入力といくつかのボタンを含むドロップダウン メニューがあります。ボタンの1つまたは他の場所をクリックするとドロップダウンが非表示になりますが、入力でキーを押しても非表示になりません。次のコードを使用していますが、機能しません。私が使用すると動作しますが
の代わりにlive
。
しかし、私は必要なのでlive
、これに対する解決策はありますか?
jquery - JQuery stopPropagation がイベントのバブリングを妨げない
複数のリストが重なり合って表示されるアプリケーションがあります。リスト アイテムは、ドラッグ アンド ドロップでリスト間で交換できます。別のリストの上にあるリストにリスト項目をドロップすると、一番上のリストだけがドロップ イベントを処理するようにします。
現在、私の問題はe.stopPropagation
、e.preventDefault
またはの使用に関係なく、すべてのイベントハンドラーが起動することreturn false
です。
どんなガイドラインでも大歓迎です
jquery - 親イベントjqueryを停止
子リンクをクリックしたときに親イベントが起動するのを止めたい。ここに私のコードがあります:
クリックする.toogleRead
と機能が起動しますが、ページにも変更され{corePath}/mails
ます。ページが変わるのを防ぎたい。
jquery - フォームの送信と、非同期イベントの後にキューに入れられたイベントの呼び出しに問題がある
これはローカルセットアップ(jquery.1.6.4を使用)で機能していますが、開発セットアップ(jquery.1.3.2)では機能していません。
次のフォームを検討してください -
validateMacros();
上記の呼び出しに注意してください。
そして、次のJavaScript -
jquery.1.6.4 が読み込まれると、目的validateMacros()
の の実行が完了した後に関数が実行されpreValidateUrls()
ます。
しかし、jquery.1.3.2 が読み込まれると、validateMacros()
まったく実行されず、フォームが送信されるだけです。
両方のバージョンで動作させるにはどうすればよいですか。私は何を間違っていますか?
jquery - jQuery:mouseenter/mouseleaveは伝播を停止します
順序付けされていないリストのjqueryでmouseenterイベントとmouseleaveイベントを使用して<li>
、マウスがそれらの上にあるときに画像を表示しています。そのリストは通常、次のようになります。
注:読みにくい場合があることは承知していますが、できるだけ読みやすくするために最善を尽くしました。
ご覧のとおり、これは展開/折りたたみツリーに使用される単なるツリーであり、各アイテムはクラス「treeItem」でマークされています。このクラスを維持する必要があります。これは、これらすべてのアイテムで共有される共通のクラスであり、マウスがそれらの上にあるときに画像を表示する必要があるため、イベントハンドラーをそれにバインドすることにしました。
mouseenter / mouseleaveで表示/非表示にする必要がある画像は、各アイテムの2番目です(src = "img / cross.png"の画像)。私はこのスクリプトでそれを非常に簡単に行うことができました:
私の問題は、アイテムが展開されたとき(つまり、「カテゴリ1」が展開され、「サブカテゴリ11」と「サブカテゴリ12」が表示されるようになったとき)、マウスでサブカテゴリのいずれかにカーソルを合わせると、これらのサブカテゴリが画像は質問どおりに表示されますが、親カテゴリ(つまり「カテゴリ1」)の画像は、まだホバリングしているため非表示になりません...
e.stopPropagation();を使用してみました。しかし、それは何も良くしませんでした。
これを回避して、コンテンツの一部をホバーしているときに要素でマウスリーブをトリガーする方法を知っている人はいますか?
http://api.jquery.com/mouseleave/#example-0、特にコードブロックの下のデモをチェックして、私が何を意味するかを確認できます。通常(デモの右側)、マウスが黄色のコンテナに入ると、青いコンテナのmouseleaveイベントがトリガーされます。
説明するのが難しかったので、私の質問が明確であることを願っています...
編集:
mouseenterイベントハンドラーを次のように変更する方法を見つけました。
ただし、サブアイテムにカーソルを合わせた後に画像を再度表示するには、親アイテム全体(つまり、「カテゴリ1」アイテム)を残して再入力する必要があるため、これは完全ではありません。
誰かがより良い方法を持っているなら共有してください!
event-handling - mootools のキーアップ時の停止イベントが機能しない
テキスト フィールドに数字以外の文字が入力されないようにしています。私のコードは文字を検証しますが、テキスト ボックスへの追加を停止しません。
私のコード:
HTML:
jquery - stopPropagationはMozillaFirefoxでは機能しません
みなさん、良い一日を。次のコードがGoogleChromeで機能し、Mozilla Firefoxでは機能しない理由を誰かが説明できますか?目的は、要素の最初のクリックでリンク(つまり、要素の子)を含むパネルを表示し、2番目のクリックで非表示にすると、リンクが機能するようにすることです。Mozillaでは、(要素の子の子として)リンクをクリックすると、links-containerが非表示になり、stopPropagationが機能しなくなります。
HTML構造:
回避策を見つけることは問題ではないと思いますが、コードの何が問題になっているのかを理解することは非常に興味深いことです。ありがとうございました。
jquery - JavaScript、イベント伝播、および入力フィールド
だから私は入力フィールドを持っています.マウスでそれを操作すると、基本的には機能しません. それの訳は:
- 入力は、編集モードでそのアイテムを展開することにより、ロード後に作成されます
- アイテムを展開するには、入力に置き換えられるタイトルの親である li でクリック イベントを使用します。
- アプリの仕組み上、クリックではなくライブを使用する必要があり、これにより stopPropagation() を使用できなくなります。
だから私たちは使用しています:
このため、明らかにマウスが入力をクリックしようとすると、カーソルを移動したり、その内容を強調表示したりしますが、無視されます。
ターゲット行を削除すると、入力をクリックすると、li が閉じます。
だから...私の質問: liを閉じずに、クリックの代わりにライブを使用できるように、入力をクリック可能にする方法はありますか?
javascript - タップイベントを伴うstopPropagation()
私はhammer.jsを使用していますがevent.stopPropagation()
、tapイベントを使用していないようです。
子をクリックすると、関連するイベントがトリガーされますが、親のイベントもトリガーされるので、それは望ましくありません。
次に例を示します:http://jsfiddle.net/Mt9gV/
jGesturesも試してみましたが、問題は同じようです。これらのライブラリの1つでこの結果を達成するにはどうすればよいですか?(または必要に応じて別のもの)
javascript - stopPropagation が呼び出された場合でもクリックをキャプチャします (つまり、サードパーティのコードによって)?
ページで発生したクリックを検出したい (カスタム コンテキスト メニューを閉じるため)。私はjQueryを使用していて、やろうとしています
ただし、ページ上の特定の要素のクリック ハンドラーで evt.stopPropagation() を呼び出すコードを使用しており、それらのクリックがトップレベルのハンドラーに到達していません。これらのクリックをキャプチャする方法はありますか? クロスブラウザーで動作する限り、jQuery であっても jQuery でなくてもかまいません。