*注意:以下問題並不是針對人們的意見,而是針對網頁的最佳處理速度和jQuery等
我現在有下面的下面的「測試」代碼格式代碼:
$(document).ready(function() {
$('.my-class').on('click') {
if ($('.my-class').hasClass('active') {
$('.my-class').removeClass('active');
return;
}
$('.my-class').addClass('active');
}
});
我的問題是:應該在事件處理程序(而不是事件偵聽器)是相同的代碼結構作爲$(document).ready();
?或者應該是這樣的:
function toggler(obj) {
if ($(obj).hasClass('active') {
$(obj).removeClass('active');
return;
}
$(obj).addClass('active');
}
$(document).ready(function() {
$('.my-class').on('click') {
toggler(this);
}
});
即應$(document).ready();
只引用該處理器還是應該(聽力和處理)整個動作是在$(document).ready();
聽衆什麼是正確的方法這樣做,以便最大限度地提高可用性/ jQuery的,JS的功率等
[This](http://blog.cateptus.eu/seb/2011/01/javascript-call-performance-just-inline-it/)博客文章說,它更快,沒有單獨的功能 –
我會說,當你認爲你可能再次使用它時,你應該只聲明一個函數,考慮到你正在使用jQuery的所有東西,這樣的微觀優化也不應該成爲你的擔心。雖然這與你的問題無關,但你的第一個和第二個代碼是不同的,一個會刪除,然後在每個'.my-class'元素上重新添加「active」類,而第二個代碼只會對點擊的元素起作用。 – Yanaro