問題タブ [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.
jquery - キーダウンイベントでのjQuerytrigger()およびstopPropagation()
キーダウンと伝播の停止に苦労しています
私は私のページを更新したくありません、私は私が考えることができるすべての方法を試しました、私の現在のコードは
私がここで間違っていることについて何か考えはありますか?イベントが正しく呼び出されたと思いました。jqueryとjqueryuiが正しくリンクされており、コンソールエラーは発生しません。
UPDATE は正常に機能していましたが、オブジェクト関数(a、b){return new e.fn.init(a、b、h)}のプロパティ'event'を取得しても、以下のコードでは関数エラーではありません。
更新#2-修正
私が学んだこと
- ドキュメントにtrigger()は必要ありません(ready)
- $ .ui.keyCodeを機能させるのは困難でした(少なくとも私にとっては)
- 入力に接続されている他の関数(onblur、onfocus、ect)を常に確認してください。
これに書き直し、完全に正常に動作します
jquery - ユーザーがテキストエリアに何かを貼り付けた場合の keyUp イベントの防止
ユーザーが textarea#q に何かを入力すると、do_domething()関数が呼び出されます。ユーザーがテキストを入力する代わりに貼り付ける場合、do_something() 関数は避ける必要があります。何か案は?これは私の現在のコードです:
jquery - jqueryの親子クリックイベント処理
動的に追加する 2 つの列を持つテーブル行があります (以下)。
最初の列 id=... のクリック ハンドラーが正常に動作し、2 番目の列 class="msg_head" の 2 番目のクリック ハンドラーが必要ですが、それをキャッチしようとすると、親ハンドラー。
伝播を停止するなどの提案を試みましたが、うまくいきませんでした。
助言がありますか?
javascript - stopPropagation メソッドを使用せずにイベントのバブリングを停止するにはどうすればよいですか
次のような html コードがあります。
ツリーノードクラスを持つ各タグにクリックイベントをバインドしたい
また、クリックイベントをドキュメントにバインドします
ここに私のコードがあります:
node4-2 からその親へのイベントのバブリングを停止するための stopPropagation() の代替手段はありますか?
javascript - 繰り返し入力すると伝播を止める
私はウェブサイト用のカスタム検索エンジンを構築しており、キーアップイベントでAJAXを介して検索が行われるため、入力を開始すると(2文字以上入力し、文字列がトリミングされた後)、サーバーへのAJAX呼び出しが行われます.
それは完全に機能しますが、私が考えていたシナリオが 1 つあります。4 つまたは必要な数の文字を連続して入力し始めると、入力した文字と同じ数の呼び出しが行われます。たとえば、10 文字を入力すると、多くのリクエストが行われます。
この場合、そのような動作が発生したときに以前に開始されたものをすべて停止し、狂ったように入力した後に検索を開始する簡単な方法があるかどうかを考えていました (:
jquery - css 値が変更された後にサイズ変更機能が起動しないようにするにはどうすればよいですか?
CSS メディア クエリを介して CSS 値が変更された後、サイズ変更機能が起動しないようにしようとしています。これは機能しません...「トグルがあります」を一度だけ表示したい。どのように私はそれを殺すのですか?
jquery - アコーディオンヘッダーでjqueryを使用したstopPropagation
対応するヘッダー (クリック イベントを含む) 内でチェックボックスを正しく機能させようとしています。http://で古いバージョンの jquery (バージョン 1.6.3) でこれを行う方法の例を見つけました。 jsfiddle.net/CkL2r/1/またはコードは以下のとおりです。
</p>
新しいバージョンのjqueryで動作させることができません。jqueryのドキュメントを検索しましたが、バージョン間でこの機能に違いはないはずです。
誰かが私を正しい方向に向けることができますか?
events - stopPropagation と live() メソッド。私は何が欠けていますか?
私はjQuery docを読みましたが、live()を使用してイベントを要素にバインドする場合、stopPropagation()を使用しても意味がないことを知っています.live()を使用したイベントはドキュメントノードにバインドされるため、イベントはすでに発生しています。そうは言っても、stopPropagation は何も停止しないため、nex コードは 3 回警告するだろうと考えました。
リンクをクリックすると、「li」と「ul」のアラートが表示されると思っていましたが、stopPropagation は役に立たないはずの他のイベントを停止しています。私は何が欠けていますか?
flash - フラッシュのみでマウスホイールでスクロールします。マウスホイールによるデフォルトのブラウザスクロールを防止する
この問題は、Firefox が FF17、MAC、OSX 10.8.2 に自動的に更新された後に見つかりました。
提案やヒントはありますか?
問題:
javascript preventDefault(); を使用しています。および stopPropagation(); マウス ホイールによるデフォルトのスクロール イベントをキャンセルするには、問題なく動作します。しかし、フラッシュ オブジェクトの上にマウスを置いてマウス ホイールでスクロールすると、これは機能しません。
確かに、マウスホイールで制御できるフラッシュのパネルがあります。Flash オブジェクトは HTML ドキュメントの中央に埋め込まれています。Flash コンテンツを表示するには、ブラウザーを下にスクロールする必要があります。Flash コンテンツにフォーカスしてマウス ホイールでスクロールすると、ブラウザもスクロールして Flash コンテンツが見えなくなります。
問題を再現します。
1. 単純な空白の Flash オブジェクトを html の一番下に配置します。ブラウザでフラッシュ オブジェクトを表示するには、下にスクロールする必要があることを確認してください。
説明を簡単にするために、この JavaScript を使用して、ページ上のすべてのマウス ホイール アクティビティを停止できます: (必要に応じて、"スペースバー" を押して、html の一番下にあるフラッシュ オブジェクトにアクセスしてください)。
window.addEventListener('DOMMouseScroll', wheel, false); window.addEventListener('mousewheel', wheel, false);
window.addEventListener('MozMousePixelScroll', wheel, false); window.addEventListener('wheel', wheel, false);
関数 cancelEvent(e) { e = e ? e : window.event; if (e.stopPropagation)e.stopPropagation(); if (e.preventDefault)e.preventDefault(); e.cancelBubble = true; e.cancel = true; e.returnValue = false; false を返します。}フラッシュ オブジェクト上でマウスを動かし、スクロール ホイールを使用すると、ブラウザもスクロールしていることがわかります。
期待される結果:
上記のスクリプトにより、マウス ホイールはフラッシュ オブジェクトのみを制御し、ブラウザは制御しません。