1

関数を複数の div にバインドする最良の方法は何ですか?

$('#trigger1').change(function(){
   // same code
});

$('#trigger3').change(function(){
   // same code
});
4

7 に答える 7

6

クラスを使用するか(imoはクラスが最善の方法です)

    <div class="trigger"></div>
    <div class="trigger"></div>

$('.trigger').change(function(){

});

またはこれを行う

$('#trigger1,#trigger3').change(function(){

});
于 2013-02-26T12:48:03.453 に答える
2

同じ関数呼び出しに複数の ID を含めることができます。

$('#trigger1, #trigger3').change(function(){
   // code goes here
});

または、triggerClass などの同じクラスを指定して、次のように呼び出すこともできます。

$('.triggerClass').change(function(){
   // code goes here
});
于 2013-02-26T12:48:35.203 に答える
2

それらのdivに共通のクラス名を追加します

<div class="myClass" id="trigger1">
</div>

<div class="myClass"  id="trigger2">
</div>

これがそのスクリプトです

$(".myClass").click(function(){
// your code
});
于 2013-02-26T12:48:38.870 に答える
1
$('#trigger1, #trigger3').change(some_function);

Or:

$('#trigger1').add('#trigger3').change(some_function);
于 2013-02-26T12:48:40.707 に答える
1

すべての要素に同じクラスを適用するだけで、次のように記述できます

$('.classname').change(function(){

});
于 2013-02-26T12:49:11.550 に答える
1

共通クラスを追加します。

<div class="rowTrigger">trigger 1</div>
<div class="rowTrigger">trigger 2</div>

脚本

$(function(){
   $("body").on("click", ".rowTrigger", function(e){ 
      e.preventDefault();
      var row = $(this); //row element
   });
});

各「rowTrigger」は「クリック」ハンドラーで発生します。これは、他のイベントまたは複数のイベントに変更できます。詳細については 、 http://api.jquery.com/on/を参照してください。処理されるイベントのスコープは、たとえば「body」を「table」に変更することで変更できるため、テーブルの「div」行がクリックされたときにのみ発生します。

より簡単に次のように書くことができます ('クリック' と 'ホバー' の発火 ... しかし、あなたはアイデアを得る) :

$("div.rowTrigger").on("click hover", function(e){
   e.preventDefault();
   var row = $(this); //row element
   //some extra code
}); 
于 2013-02-26T13:03:26.877 に答える
1

あなたが使用できる

$('#trigger1, #trigger3').change(function(){
   same code
});

トリガーをグループ化する

于 2013-02-26T12:49:38.270 に答える