Maison > interface Web > js tutoriel > Comment la délégation d'événements JavaScript Vanilla se compare-t-elle à l'approche de jQuery pour des performances optimales ?

Comment la délégation d'événements JavaScript Vanilla se compare-t-elle à l'approche de jQuery pour des performances optimales ?

Barbara Streisand
Libérer: 2024-11-26 10:05:15
original
235 Les gens l'ont consulté

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

Délégation d'événements dans Vanilla JavaScript pour des performances optimales

Revisiter la syntaxe jQuery

Dans jQuery, la délégation d'événements peut être réalisée à l'aide du code suivant :

$('#main').on('click', '.focused', function() {
  settingsPanel();
});
Copier après la connexion

Traduction vers Vanilla JavaScript

Utilisation de la délégation d'événements dans Le JavaScript Vanilla peut être réalisé via addEventListener. Cependant, il est important d’optimiser l’approche pour plus d’efficacité. Considérez l'alternative suivante :

document.querySelector('#main').addEventListener('click', (e) => {
  if (e.target.closest('.focused')) {
    settingsPanel();
  }
});
Copier après la connexion

En utilisant la méthode la plus proche(), nous vérifions si l'élément cliqué ou l'un de ses ancêtres correspond au sélecteur .focused. Cela élimine le besoin d'itérer de manière inefficace les éléments enfants.

Garder le code compact

Pour améliorer la compacité du code, la logique principale peut être placée sous une instruction de retour précoce :

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

  // Code of settingsPanel here
});
Copier après la connexion

Exemple d'implémentation

Le code suivant démontre le approche :

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

$('#outer').on('click', '#inner', () => {
  console.log('jQuery');
});
Copier après la connexion

Observez le résultat lors de l'interaction avec les éléments avec les gestionnaires d'événements Vanilla JavaScript et jQuery.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal