関数を複数の div にバインドする最良の方法は何ですか?
$('#trigger1').change(function(){
// same code
});
$('#trigger3').change(function(){
// same code
});
関数を複数の div にバインドする最良の方法は何ですか?
$('#trigger1').change(function(){
// same code
});
$('#trigger3').change(function(){
// same code
});
クラスを使用するか(imoはクラスが最善の方法です)
<div class="trigger"></div>
<div class="trigger"></div>
$('.trigger').change(function(){
});
またはこれを行う
$('#trigger1,#trigger3').change(function(){
});
同じ関数呼び出しに複数の ID を含めることができます。
$('#trigger1, #trigger3').change(function(){
// code goes here
});
または、triggerClass などの同じクラスを指定して、次のように呼び出すこともできます。
$('.triggerClass').change(function(){
// code goes here
});
それらのdivに共通のクラス名を追加します
<div class="myClass" id="trigger1">
</div>
<div class="myClass" id="trigger2">
</div>
これがそのスクリプトです
$(".myClass").click(function(){
// your code
});
$('#trigger1, #trigger3').change(some_function);
Or:
$('#trigger1').add('#trigger3').change(some_function);
すべての要素に同じクラスを適用するだけで、次のように記述できます
$('.classname').change(function(){
});
共通クラスを追加します。
<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
});
あなたが使用できる
$('#trigger1, #trigger3').change(function(){
same code
});
トリガーをグループ化する