Rumah > hujung hadapan web > tutorial js > Bagaimanakah Perwakilan Acara JavaScript Vanila Berbanding dengan Pendekatan jQuery untuk Prestasi Optimum?

Bagaimanakah Perwakilan Acara JavaScript Vanila Berbanding dengan Pendekatan jQuery untuk Prestasi Optimum?

Barbara Streisand
Lepaskan: 2024-11-26 10:05:15
asal
235 orang telah melayarinya

How Does Vanilla JavaScript Event Delegation Compare to jQuery's Approach for Optimal Performance?

Delegasi Acara dalam JavaScript Vanila untuk Prestasi Optimum

Menyemak Semula Sintaks jQuery

Dalam jQuery, delegasi acara boleh dicapai menggunakan kod berikut:

$('#main').on('click', '.focused', function() {
  settingsPanel();
});
Salin selepas log masuk

Menterjemah ke Vanila JavaScript

Menggunakan delegasi acara dalam JavaScript vanila boleh dicapai melalui addEventListener. Walau bagaimanapun, adalah penting untuk mengoptimumkan pendekatan untuk kecekapan. Pertimbangkan alternatif berikut:

document.querySelector('#main').addEventListener('click', (e) => {
  if (e.target.closest('.focused')) {
    settingsPanel();
  }
});
Salin selepas log masuk

Dengan menggunakan closest(), kami menyemak sama ada elemen yang diklik atau mana-mana nenek moyangnya sepadan dengan pemilih .focused. Ini menghapuskan keperluan untuk berulang secara tidak cekap melalui elemen kanak-kanak.

Mengekalkan Kod Padat

Untuk meningkatkan kekompakan kod, logik utama boleh diletakkan di bawah pernyataan pemulangan awal:

document.querySelector('#main').addEventListener('click', (e) => {
  if (!e.target.closest('.focused')) {
    return;
  }

  // Code of settingsPanel here
});
Salin selepas log masuk

Contoh Pelaksanaan

Kod berikut menunjukkan pendekatan:

document.querySelector('#outer').addEventListener('click', (e) => {
  if (!e.target.closest('#inner')) {
    return;
  }
  console.log('vanilla');
});

$('#outer').on('click', '#inner', () => {
  console.log('jQuery');
});
Salin selepas log masuk

Perhatikan output apabila berinteraksi dengan elemen dengan kedua-dua pengendali acara JavaScript dan jQuery vanila.

Atas ialah kandungan terperinci Bagaimanakah Perwakilan Acara JavaScript Vanila Berbanding dengan Pendekatan jQuery untuk Prestasi Optimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan