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() {});
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!