[解決済み] jQuery $(".class").click(); - 複数要素のクリックイベントを1回にする。
質問
同じ名前のページで複数のクラスを持っています。そして、私は私のJSで.click()イベントを持っています。私が起こしたいことは、私のページ上の複数のクラスに関係なく、クリックイベントが一度だけ起こることです。
シナリオは、カートに追加するためにAJAXを使用していることです。これは、同じクラス .add .#productid# が存在し、クリックされたときにカートに追加する AJAX が 2 回発生することを意味します。
私は「クリックエリア」を作ることを考え、.container-name .add .#pid#を持つようにし、その結果、ユニークなクリックを与えるようにしました。
これが唯一の解決策でしょうか。
<div class="addproduct 151">product info</div>
<div class="addproduct 151">product info</div>
<div class="addproduct 151">product info</div>
<div class="addproduct 151">product info</div>
<div class="addproduct 151">product info</div>
$(".addproduct").click(function(){//do something fired 5 times});
どのように解決するのですか?
この古いスレッドをバンプするために申し訳ありません。私は今同じ問題を抱えていた、と私は私の解決策を共有したいと思いました。
$(".yourButtonClass").on('click', function(event){
event.stopPropagation();
event.stopImmediatePropagation();
//(... rest of your JS code)
});
event.StopPropagation
そして
event.StopImmediatePropagation()
を使えばいいのです。
イベントハンドラ用の.classセレクタを持つと、結果的に
bubbling
のクリックイベントが発生します(DOM内の親要素に発生することもあれば、子要素に発生することもあります)。
event.StopPropagation()
メソッドはイベントが親要素にバブルしないことを保証し、一方
event.StopImmediatePropagation()
メソッドは、イベントが目的のクラスセレクタの子要素にバブルしないようにします。
ソースは https://api.jquery.com/event.stoppropagation/ https://api.jquery.com/event.stopimmediatepropagation/
関連
-
[解決済み] jQueryで複数のクラスを持つ要素を選択するにはどうすればよいですか?
-
[解決済み] 動的に生成された要素にイベントバインディングを行うか?
-
[解決済み] jQueryのイベントハンドラを削除する最良の方法?
-
[解決済み] jQuery 複数のイベントで同じ関数を起動する
-
[解決済み] javascript(またはjQuery)を使って::beforeや::afterなどのCSS疑似要素を選択し、操作する。
-
[解決済み] jQueryで同じクラスを持つ要素をループさせる
-
[解決済み] jQuery チェックボックスの変更とクリックイベント
-
[解決済み] 動的に生成された要素でクリックイベントが動作しない [duplicate]
-
[解決済み] jQueryの複数要素の同一クリックイベント
-
[解決済み】フォームのhiddenフィールドにjQueryの".val() "を使って値を設定してもうまくいかない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] クラスメソッド内の "this "をタイプスクリプトで記述する
-
[解決済み] jQueryでチェックボックスの値を取得する
-
[解決済み] Twitter Bootstrapのモーダルクローズに関数をバインドする
-
[解決済み] jQueryで5秒待つには?
-
[解決済み] jQueryは要素のレンダリングされた高さを取得しますか?
-
[解決済み] JSONPとは何か、素人目にもわかるように説明してくれる人はいませんか?[重複)。
-
[解決済み] jQuery: テキストで要素を検索する
-
[解決済み】jQueryで入力不可属性をトグルする。
-
[解決済み】jQuery:keyPress Backspaceが発射されない?
-
[解決済み] jQuery append() - 追記された要素を返す