Certains projets utilisent des modèles JS, mais les balises du modèle sont des balises HTML dont les chaînes ne s'exécutent pas normalement. Une fois la liaison d'événement effectuée sur les balises chargées au début de la page, les balises chargées ultérieurement ne seront chargées que si jQuery l'est. utilisé. Je ne trouve rien à utiliser pour surveiller et implémenter la liaison d'événements.
Le projet stipule que les frameworks tels que jQuery et zetpo ne peuvent pas être utilisés, je voudrais donc demander, comme dans le titre.
<p class="p">标签p</p>
<script>
var ps = document.querySelectorAll('.p');
for (var i = 0; i < ps.length; i++) {
ps[i].addEventListener('click', function(){
var that = this;
console.log(that.innerText);
})
}
</script>
<script type="template">
<p class="p">字符串标签p</p>
</script>
Délégation événementielle, le code le plus basique est le suivant !
Le document peut être remplacé par d'autres éléments, mais l'élément remplacé doit exister depuis le début ! Il ne peut pas être ajouté dynamiquement après le chargement de la page !
Habituellement, délégation événementielle
La délégation d'événement est correcte. Pour parler franchement, elle utilise le bouillonnement d'événements DOM. La réponse de @Waiting for You explique le principe et résout le problème de base. Cependant, il existe encore certaines limites dans les applications pratiques. Il ne peut traiter que l'élément sur lequel on a finalement cliqué, plutôt que les éléments rencontrés lors du processus de bullage.
J'ai écrit un exemple du processus de bouillonnement : https://jsfiddle.net/4L7p5drb/1/