Maison > interface Web > js tutoriel > Comment gérer les événements de clic sur les éléments HTML chargés dynamiquement : `.live()` contre `.on()` ?

Comment gérer les événements de clic sur les éléments HTML chargés dynamiquement : `.live()` contre `.on()` ?

DDD
Libérer: 2024-12-18 10:28:22
original
139 Les gens l'ont consulté

How to Handle Click Events on Dynamically Loaded HTML Elements: `.live()` vs. `.on()`?

Gestion des événements pour le HTML chargé dynamiquement : .live() vs. .on()

Lorsque vous travaillez avec du HTML chargé dynamiquement, cela devient essentiel pour gérer les événements pour les éléments qui n'existent pas initialement. La méthode obsolète .live() et son remplacement recommandé, .on(), proposent différentes approches pour relever ce défi.

La question initiale exprimait des difficultés à enregistrer les événements de clic pour les éléments ajoutés dynamiquement à l'aide de $('#parent ').load("http://..."). Alors que .click() ne parvient pas à capturer l'événement, .live() fonctionne mais est obsolète.

La solution réside dans la gestion déléguée des événements à l'aide de .on(). Au lieu d'attacher l'événement directement à l'élément chargé dynamiquement (#child), liez-le au parent (#parent) avec un sélecteur correspondant à l'enfant. Cette approche garantit que même si #child est créé après l'opération load(), il héritera du gestionnaire d'événements défini sur son parent.

La syntaxe recommandée pour ce scénario est :

$('#parent').on("click", "#child", function() {});
Copier après la connexion

De cette manière, l'écouteur d'événement click sera attaché à #parent, et tout clic provenant de #child sera capturé et traité par le gestionnaire d'événements, même si #child peut ne pas exister lorsque le parent est initialement créé.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal