2013-01-14 20 views
1

我有很多複選框。他們中的大多數人有一個班級(班級a或班級b),但其中一些班級都有。指定你想要的事件

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

我對這兩個類都有相同的jquery事件(更改)。

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

在我的代碼中,我必須從.each()中的輸入中觸發事件「change」。這意味着可以有上述任何情況下的複選框。

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

我的問題是,當我從具有兩類一個複選框觸發它,它觸發2個不同的事件(和它的邏輯)。 但我只是想觸發一個類選擇的變化事件。

有沒有辦法指定它?

+0

如果只想類的觸發事件,爲什麼你添加B類呢? – phnkha

+2

你想從'class ='一個b''複選框中得到什麼? – Jai

回答

2

爲什麼不指定這樣的?

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

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

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

什麼時候點擊'class =「a b」' – Jai

0

您可以通過過濾我們暴露這兩個類的元素來解決您的問題。例如,只有註冊的處理程序b類,如果該元素不也暴露a類:

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