* Not: Aşağıdaki soru insanların fikirleri için değil, web sayfası için en iyi işlem hızı açısından sorulmaktadır. jQuery vb
Şu anda aşağıdaki "Test" kod biçimi izleyen koduna sahip:
$(document).ready(function() {
$('.my-class').on('click') {
if ($('.my-class').hasClass('active') {
$('.my-class').removeClass('active');
return;
}
$('.my-class').addClass('active');
}
});
sorum şu: olay işleyicisi (değil olay dinleyicisi) aynı kod yapısında olmalıdır $(document).ready();
olarak mı? Yoksa bu gibi görünmelidir:
function toggler(obj) {
if ($(obj).hasClass('active') {
$(obj).removeClass('active');
return;
}
$(obj).addClass('active');
}
$(document).ready(function() {
$('.my-class').on('click') {
toggler(this);
}
});
yani $(document).ready();
sadece işleyicileri başvuru ya da (dinleme ve kullanım) tüm eylem $(document).ready();
olmalıdır dinleyicileri olmalıdır doğru yolu nedir bunu yaparken vb kullanılabilirlik/jQuery, JS gücünü, maksimize edecek şekilde
[This] (http://blog.calyptus.eu/seb/2011/01/javascript-call-performance-just-inline-it/) blog yazısı, ayrı bir işlevsiz olarak daha hızlı olduğunu söylüyor –
Bunu söyleyebilirim Sadece ikinci bir kez kullanabileceğinizi düşündüğünüzde bir işlev beyan etmelisiniz, ayrıca mikro optimizasyonun her şeyin jQuery'sini kullandığınızı düşünerek endişeniz olmaması gerekir. Bu sorununla hiçbir ilgisi olmamasına rağmen, ilk ve ikinci kodunuz farklıdır, biri kaldırır, sonra her ".my sınıfı" öğeye "etkin" sınıfı yeniden eklenirken, ikincisi yalnızca tıklanan birimde hareket eder . – Yanaro