Maison > interface Web > js tutoriel > le corps du texte

Introduction détaillée aux méthodes alternatives après la suppression de live dans jQuery 1.9 et versions supérieures

黄舟
Libérer: 2017-06-26 09:31:54
original
1223 Les gens l'ont consulté

Selon la description officielle de jQuery, la méthode live n'est plus recommandée en 1.7, et cette méthode a été supprimée en 1.9. Et il est recommandé d’utiliser plutôt la méthode on dans le futur code. La méthode on peut accepter trois paramètres :
événement nom, sélecteur de déclencheur et fonction d'événement.

Ce qui nécessite une attention particulière est : le sélecteur de déclencheur au milieu de la méthode on est le nom de classe, l'identifiant ou le nom d'élément de l'élément HTML sur lequel vous vous trouvez pour ajouter, utilisez-le Vous pouvez obtenir l'effet live.

Par exemple, mon document html a déjà un p avec l'identifiant du parent, et j'ajouterai dynamiquement un span avec la classe de fils à l'intérieur de ce p. Je lie un événement à cette durée, alors je dois écrire comme ceci :

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

Ce sélecteur de déclencheur est en fait le $(e qui détermine les paramètres de l'événement une fois dans JQ .target .is(selector), seul l’objet déclencheur correspondant au sélecteur de déclencheur se déclenchera. Cela se fait en utilisant le mécanisme de bouillonnement d'événements. Le live original utilise également le mécanisme de bouillonnement, donc puisque on peut être implémenté, il n'est pas nécessaire que live existe. C'est juste pour des raisons de compatibilité qu'il a survécu de la version 1.7 à la version 1.9. Il n'y a pas beaucoup de contenu dans cet article. Ensuite, utilisons cette fonction pour faire quelque chose de significatif et démontrons-le ~ Dans les versions inférieures d'IE, la balise A aura une bordure en pointillé lorsque la souris est enfoncée. se concentrer. Nous pouvons résoudre ce problème à condition de faire quelque chose dans le cadre de cet événement mondial. Le focus ne bouillonne pas dans les navigateurs modernes, mais il peut bouillonner dans les navigateurs plus anciens. Il est donc efficace d’utiliser live pour se concentrer dans les navigateurs de version inférieure. Dans les versions antérieures à jQuery 1.9, on peut écrire comme ceci :

$("a").live("focus",function(){  this.blur();
});
Copier après la connexion

Puisque live a été supprimé après jQuery 1.9, on devrait écrire comme ceci :

$(document).on("focus","a",function(){  this.blur();
});
Copier après la connexion

Il y a un autre problème à noter. Si vous passez de la méthode d'écriture en direct à la méthode d'écriture en direct, n'oubliez pas d'ajuster la chaîne d'appel. Parce que la valeur de retour de live est l'objet déclenché par l'événement, et using on est sur l'objet conteneur.

//jQuery1.9-$("#panel").find("p").live("click",function(){
  alert("x");
}).addClass("x");//jQuery1.9+$("#panel").on("click","p",function(){
  alert("x");
}).find("p").addClass("x");   
Copier après la connexion

Faites attention au find("p") à la fin, sinon il n'y aura pas de problème.

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!

Étiquettes associées:
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!