对多个div应用相同的change函数



将函数绑定到多个div的最佳方式是什么?

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

要么使用class(imo是class的最佳方式(

    <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(){
});

您可以使用

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

对触发器进行分组

添加一个公共类:

<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"都会在"click"处理程序上触发,这可以更改为其他或多个事件。看见http://api.jquery.com/on/了解更多详细信息。例如,可以通过将"body"更改为"table"来更改所处理事件的范围,因此它只会在单击表中的"div"行时激发。

更简单地说,它可以写成(为"点击"one_answers"悬停"开火……但你明白了(:

$("div.rowTrigger").on("click hover", function(e){
   e.preventDefault();
   var row = $(this); //row element
   //some extra code
}); 

相关内容

  • 没有找到相关文章

最新更新