指定所需的事件

时间:2013-01-14 10:04:08

标签: javascript jquery class events triggers

我有很多复选框。他们中的大多数都有一个班级(班级a或班级b),但其中一些班级都有班级。

<input type="checkbox" class="a b">

我对这两个类都有相同的jquery事件(更改)。

$('.a').change(function(e){ // whatever });
$('.b').change(function(e){ // whatever });

在我的代码中,我必须从.each()中的输入触发事件“更改”。这意味着可以存在上述任何情况的复选框。

$(this).trigger('change');

我的问题是,当我从具有两个类的复选框触发它时,它会触发2个不同的事件(和它的逻辑)。 但我只是想触发一个类的选定更改事件。

有没有办法指定这个?

2 个答案:

答案 0 :(得分:2)

为什么不指定这样的?

$('.a:not(".a.b")').change(function(){
//only a
});

$('.a.b').change(function(){
//both
});

$('.b:not(".a.b")').change(function(){
//only b    
});

答案 1 :(得分:0)

您可以通过过滤我们公开这两个类的元素来解决您的问题。例如,如果元素不公开类b,则仅注册类a的处理程序:

$(".a").change(function(e) { /* whatever */ });
$(".b:not(.a)").change(function(e) { /* whatever */ });