


Introduction détaillée à la délégation d'événements JavaScript (avec code)
Cet article vous apporte une introduction détaillée à la délégation d'événements JavaScript (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
La délégation d'événements (également connue sous le nom de proxy d'événements) utilise le bouillonnement d'événements pour gérer tous les événements d'un certain type en spécifiant un seul gestionnaire d'événements.
Il existe un exemple très frappant de « livraison express » concernant la délégation d'événements sur Internet. Ici, je vais y apporter quelques modifications et extensions, puis illustrer le mécanisme de délégation d'événements à travers des programmes.
Il y a trois employés dans une entreprise, et leur adresse de livraison express est l'entreprise. Chaque fois qu'une livraison express est livrée, le coursier appelle leur numéro pour les avertir, et ils vont récupérer le colis après réception du colis. appel.
员工ID | 员工名称 | 联系方式 |
---|---|---|
A | 甲 | 111111 |
B | 乙 | 222222 |
C | 丙 | 333333 |
<ul id="前台工作人员"> <li id="A">员工甲</li> <li id="B">员工乙</li> <li id="C">员工丙</li> </ul>
Le comportement de chaque employé répondant au téléphone pour récupérer le coursier est un événement. Ici, nous supposons que le comportement de. récupérer le coursier correspond à l'événement onclick :
A.onclik = function() { 收取快递; }; B.onclick = function() { 收取快递; }; C.onclick = function() { 收取快递; };
Ce qui précède est généralement mis en œuvre en parcourant chaque employé et en ajoutant des événements :
/*程序1*/ var aUl = document.getElemengtByID("前台工作人员"); var aLi = aUl.getElemengtsByTagName("li"); for (var i = 0; i < aLi.length; i++) { aLi[i].onclick = function() { 收取快递; } }
Comme vous pouvez le voir, définir un événement pour chaque employé générera du code redondant qui occupe de la mémoire et effectue plusieurs opérations DOM (en interaction avec les nœuds DOM), affectant les performances d'exécution des pages.
« La réduction des opérations DOM est l'une des idées principales de l'optimisation des performances »
Nous avons donc naturellement pensé : pourquoi le personnel de la réception ne peut-il pas signer pour la livraison express pour nous ?
<ul id="前台工作人员"> <li id="A">员工甲</li> <li id="B">员工乙</li> <li id="C">员工丙</li> </ul> /*程序2*/ var tel = document.getElementById("前台工作人员"); tel.onclick = function() { 收取快递; }
Supposons qu'à ce moment-là, le coursier appelle pour informer l'employé A de récupérer le colis (onclick), mais que le nœud DOM
Par exemple, lorsqu'un nouvel employé Ding arrive dans l'entreprise :
Dans un programme qui n'utilise pas de délégation d'événements, il n'y a pas d'événement pour l'employé nouvellement ajouté We. besoin d'utiliser une fonction Contenir le programme 1 :... <input type="button" id="btn" value="添加新员工"> ... ... /*程序3*/ var aBtn = document.getElementById("btn"); aBtn.onclick = function() { var aLi = document.createElement("li"); oLi.innerHTML = "员工丁"; aUl.appendChild(aLi); } ...
/*程序4*/ function pro1() { var aUl = document.getElemengtByID("前台工作人员"); var aLi = aUl.getElemengtsByTagName("li"); for (var i = 0; i < aLi.length; i++) { aLi[i].onclick = function() { 收取快递; } } }
Si nous utilisons le mécanisme de délégation d'événement pour implémenter cela, ce problème n'existera pas. L'événement onclick du nœud d'élément enfant sera exécuté directement sur le nœud d'élément parent.
/*程序5*/ var aBtn = document.getElementById("btn"); aBtn.onclick = function() { ... pro1(); }
La réponse est oui.
Par exemple, les trois employés de l'entreprise ci-dessus utilisent toujours des marques fixes de livraison express :
L'employé A aime utiliser STO Express car c'est bon marché, et STO ne livre que dans le parc gate;L'employé B est membre de JD.com et achète toujours les produits auto-exploités de JD.com, et JD.com les livrera en bas par livraison express
- L'employé C est un SF ; Express VIP et SF Express les livreront dans le hall de l'étage où ils se trouvent.
- Après que tous les trois ont reçu l'appel, le personnel de la réception a dû se rendre à différents endroits pour récupérer les articles. Pour les programmes qui n'utilisent pas la délégation d'événements, des événements de traitement uniques doivent être définis. pour chaque personne :
var A = document.getElementById("A"); var B = document.getElementById("B"); var C = document.getElementById("C"); A.onclick = function() { 去园区大门取快递; } B.onclick = function() { 去楼下取快递; } C.onclick = function() { 去本层大厅取快递; }
var aUl = document.getElemengtByID("前台工作人员"); aUl.onclick = function (ev) { var target = ev || window.event; /*兼容浏览器*/ var target = ev.target || ev.srcElement; /*兼容浏览器*/ if (target.nodeName.toLocaleLowerCase() == "li") { switch(target.id) { case "A" : 去园区大门取快递; break; case "B" : 去楼下取快递; break; case "C" : 去本层大厅取快递; break; } } }
Bulling d'événement
Le bouillonnement d'événement se produit lorsqu'un nœud d'élément DOM est déclenché. Si le nœud n'a pas d'événement correspondant, vérifiez si son élément parent a un événement correspondant. Si tel est le cas, exécutez. sinon, continuez à vérifier vers le haut. A cela correspond la capture d'événement
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

PHP et Vue : une combinaison parfaite d'outils de développement front-end À l'ère actuelle de développement rapide d'Internet, le développement front-end est devenu de plus en plus important. Alors que les utilisateurs ont des exigences de plus en plus élevées en matière d’expérience des sites Web et des applications, les développeurs front-end doivent utiliser des outils plus efficaces et plus flexibles pour créer des interfaces réactives et interactives. En tant que deux technologies importantes dans le domaine du développement front-end, PHP et Vue.js peuvent être considérés comme une arme parfaite lorsqu'ils sont associés. Cet article explorera la combinaison de PHP et Vue, ainsi que des exemples de code détaillés pour aider les lecteurs à mieux comprendre et appliquer ces deux éléments.

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Lors des entretiens de développement front-end, les questions courantes couvrent un large éventail de sujets, notamment les bases HTML/CSS, les bases JavaScript, les frameworks et les bibliothèques, l'expérience du projet, les algorithmes et les structures de données, l'optimisation des performances, les requêtes inter-domaines, l'ingénierie front-end, les modèles de conception et les nouvelles technologies et tendances. Les questions de l'intervieweur sont conçues pour évaluer les compétences techniques du candidat, son expérience en matière de projet et sa compréhension des tendances du secteur. Par conséquent, les candidats doivent être parfaitement préparés dans ces domaines pour démontrer leurs capacités et leur expertise.

Django est un framework d'application Web écrit en Python qui met l'accent sur un développement rapide et des méthodes propres. Bien que Django soit un framework Web, pour répondre à la question de savoir si Django est un front-end ou un back-end, vous devez avoir une compréhension approfondie des concepts de front-end et de back-end. Le front-end fait référence à l'interface avec laquelle les utilisateurs interagissent directement, et le back-end fait référence aux programmes côté serveur. Ils interagissent avec les données via le protocole HTTP. Lorsque le front-end et le back-end sont séparés, les programmes front-end et back-end peuvent être développés indépendamment pour mettre en œuvre respectivement la logique métier et les effets interactifs, ainsi que l'échange de données.

En tant que langage de programmation rapide et efficace, le langage Go est très populaire dans le domaine du développement back-end. Cependant, peu de gens associent le langage Go au développement front-end. En fait, l’utilisation du langage Go pour le développement front-end peut non seulement améliorer l’efficacité, mais également ouvrir de nouveaux horizons aux développeurs. Cet article explorera la possibilité d'utiliser le langage Go pour le développement front-end et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ce domaine. Dans le développement front-end traditionnel, JavaScript, HTML et CSS sont souvent utilisés pour créer des interfaces utilisateur.

Django : Un framework magique capable de gérer à la fois le développement front-end et back-end ! Django est un framework d'application Web efficace et évolutif. Il est capable de prendre en charge plusieurs modèles de développement Web, notamment MVC et MTV, et peut facilement développer des applications Web de haute qualité. Django prend non seulement en charge le développement back-end, mais peut également créer rapidement des interfaces frontales et obtenir un affichage de vue flexible via un langage de modèle. Django combine le développement front-end et le développement back-end dans une intégration transparente, afin que les développeurs n'aient pas à se spécialiser dans l'apprentissage.

Combinaison de Golang et de la technologie front-end : pour explorer le rôle de Golang dans le domaine front-end, des exemples de code spécifiques sont nécessaires. Avec le développement rapide d'Internet et des applications mobiles, la technologie front-end est devenue de plus en plus importante. Dans ce domaine, Golang, en tant que puissant langage de programmation back-end, peut également jouer un rôle important. Cet article explorera comment Golang est combiné avec la technologie front-end et démontrera son potentiel dans le domaine front-end à travers des exemples de code spécifiques. Le rôle de Golang dans le domaine front-end est celui d'un outil efficace, concis et facile à apprendre.

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service
