jQuery .on ('click') vs .click () et .delegate ('click')
Je suis habitué à l'utilisation de .click()
et delegate('click')
donc quand j'ai lu les deux ont été désapprouvées dans les dernières versions de jQuery, j'ai pensé que j'avais lu sur elle, mais je suis de me gratter la tête un peu.
La documentation ici semble suggérer que c'est une baisse-dans le remplacement pour .live() et .délégué()mais .cliquez sur() et .bind() ont un comportement différent, à savoir la liaison à actuellement les objets existants, où les autres personnes liées à des objets qui correspondent au sélecteur de modèle à travers la durée de vie de la DOM.
Dans la plupart des cas, cela ne ferait pas une grande différence, mais lorsque vous ajoutez des éléments à votre DOM de manière dynamique, c'est une distinction importante. Les nouveaux objets correspondant à l'ancien modèle pas ont les auditeurs liée à la click
événement à l'aide de .click()
mais serait avec .delegate()
.
Ma question est, comment fait-on utiliser le .on()
méthode de reproduire le comportement de ces deux pré-existantes .delegate()
et .bind()
? Ou le est tout dans l'avenir va vers la .delegate()
style?
source d'informationauteur Jeremy Holovacs
Vous devez vous connecter pour publier un commentaire.
Les deux modes sont toujours pris en charge.
L'appel suivant à
bind()
:Peut être directement converti en l'appel suivant à
on()
:Et l'appel suivant à
delegate()
:Peuvent être convertis dans l'appel suivant à
on()
:Pour l'exhaustivité, l'appel suivant à
live()
:Peuvent être convertis dans l'appel suivant à
on()
:La
on
méthode peut remplacer les deuxbind
etdelegate
en fonction de comment il est utilisé (et aussiclick
commebind
pouvez remplacer ce):Ni le
click
delegate
oubind
méthodes ont fait à la obsolète page encore. Je doute que lesclick
méthode ne le sera jamais.Vous pouvez déduire de l'utilisation de l'alias à partir du code source.
La la documentation fournit également des exemples d'utilisation:
.délégué()
et.bind()
utiliseon
méthode. Et.click()
est un raccourci pour.on()
trop.