定義多個事這是我的代碼:對單個選擇
$('body').on('click', '.class1', function() {
sth ...
});
我想將這些行添加到我的代碼:
$('body').on('click', '.class2', function() {
some other things ...
});
但它似乎是一個錯誤的方式做...我的IDE(pyCharm)說'你不應該使用重複的jQuery選擇器'
我該怎麼辦?
定義多個事這是我的代碼:對單個選擇
$('body').on('click', '.class1', function() {
sth ...
});
我想將這些行添加到我的代碼:
$('body').on('click', '.class2', function() {
some other things ...
});
但它似乎是一個錯誤的方式做...我的IDE(pyCharm)說'你不應該使用重複的jQuery選擇器'
我該怎麼辦?
你可以鏈.on
電話,因爲他們將在相同的選擇行爲:
$('body').on('click', '.class1', function() {
sth ...
}).on('click', '.class2', function() {
some other things ...
});
這會沉默pyCharm :-)
你也可以用一個點擊手解決它,並與.is()
呼叫區分,但這可能會使您的代碼不易讀:
$('body').on('click', '.class1, .class2', function() {
if ($(this).is('.class1')) {
sth ...
} else {
some other things ...
}
});
沒有什麼結構性錯誤,您的IDE是給假警報是面向比相關的代碼有效性更多的表現
爲了滿足你可以在一個變量或鏈中的多個緩存$('body')
的IDE on()
var $body=$('body');
$body.on('click', '.class1', function(){...});
$body.on('click', '.class2', function(){...});
或者
$('body').on('click', '.class1', function(){...})
.on('click', '.class2', function(){...});
另一種方法是使用一個點擊監聽多個CLASSE S和使用處理器中條件語句
$('body').on('click', '.class1, .class2', function(){
if($(this).hasClass('class1')){
// do class 1 stuff
}else{
// do class 2 stuff
}
});