Maison >interface Web >js tutoriel >Gestion directe ou déléguée des événements dans jQuery .on() : quand dois-je utiliser lequel ?
Gestion directe ou déléguée des événements dans jQuery .on()
La méthode jQuery .on() fournit deux options pour la gestion des événements : directe et déléguée. Dans le contexte de la gestion déléguée, la documentation indique que le gestionnaire d'événements n'est pas appelé lorsque l'événement se produit directement sur l'élément lié, mais uniquement pour les descendants correspondant au sélecteur. Cependant, cela soulève la question de savoir ce que l'on entend exactement par « exécute le gestionnaire pour tous les éléments ».
Gestion directe des événements
Dans la gestion directe des événements, un gestionnaire d'événements est affecté directement à un élément en utilisant la syntaxe suivante :
$("selector").on("event", function() {...});
Dans ce cas, le gestionnaire d'événements est attaché à chaque élément qui correspond au sélecteur. Par exemple, le code suivant attribue un gestionnaire de clics à chaque avec la classe verte dans le Gestion déléguée des événements Dans la gestion déléguée des événements, un gestionnaire d'événements est affecté à un élément parent en utilisant la syntaxe suivante : Dans ce cas, le gestionnaire d'événements est affecté à l'élément parent, mais il ne répond qu'aux événements qui se produisent sur les éléments descendants qui correspondent à l'enfant. sélecteur. Cette approche est utile pour attacher des gestionnaires d'événements à un contenu dynamique qui n'est pas présent lors du chargement initial de la page. Prenons l'exemple suivant : Dans cet exemple, le gestionnaire de clics est attaché au Distinction clé La distinction clé entre la gestion directe et déléguée des événements réside dans la relation entre l'élément cible et l'élément qui gère l'événement . Dans la gestion directe des événements, l'élément cible est également l'élément qui gère l'événement. Dans la gestion déléguée des événements, l'élément cible est le parent de l'élément qui gère l'événement. Implications pratiques En général, la gestion déléguée des événements est préférée lorsque vous travaillez avec contenu dynamique qui peut changer au fil du temps. En attachant des gestionnaires d'événements aux éléments parents, vous garantissez que les événements sont gérés même si de nouveaux éléments sont ajoutés à la page. La gestion directe des événements est plus appropriée pour le contenu statique qui ne changera pas avec le temps. 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!$("div#target span.green").on("click", function() {
alert($(this).attr("class") + " is clicked");
});
$("parent").on("event", "child selector", function() {...});
$("div#target").on("click", "span.green", function() {
alert($(this).attr("class") + " is clicked");
});
Articles Liés
Voir plus