Il y a beaucoup de réponses, chaque toucher sur quelques points - j'espère que cela peut vous donner votre réponse, avec une bonne explication de ce qu'il en est et comment l'utiliser.
À l'aide de click()
est un alias bind('click' ...)
. À l'aide de bind()
prend le DOM comme il l'est lorsque l'écouteur d'événement est mis en place et se lie à la fonction de chacun des éléments correspondants dans les DOM. C'est-à-dire que si vous utilisez $('a').click(...)
vous permettra de lier la fonction fournie à l'événement click de chaque balise d'ancrage dans les DOM trouvé lorsque que le code s'exécute.
À l'aide de live()
a été à l'ancienne en jQuery; il a été utilisé pour lier les événements comme bind()
, mais il n'est pas juste de les lier à des éléments dans le DOM lorsque le code s'exécute, il écoute également à des changements dans les DOM et lier les événements à l'avenir tout-appariés éléments. Ceci est utile si vous êtes en train de faire de manipulation du DOM et vous avez besoin d'un événement d'exister sur certains éléments qui pourraient être supprimés ou mis à jour le/ajouté au DOM plus tard, mais qui n'existent pas lorsque le DOM est chargé pour la première fois.
La raison qu' live()
est maintenant déprécié parce qu'il a été mal appliqué. Afin d'utiliser live()
, vous avez eu à être en mesure de choisir au moins un élément dans le DOM, à l'origine (je crois). Il a également provoqué une copie de la fonction à exécuter à être lié à chaque élément - et si vous avez des éléments de 1000, c'est beaucoup de copié fonctions.
La création de l' on()
fonction était de surmonter ces problèmes. Il vous permet de lier un seul écouteur d'événement à un objet qui ne changera pas dans les DOM (donc vous ne pouvez pas utiliser on()
sur un élément qui va être supprimé/ajouté au DOM plus tard - il lier à un objet parent), et il suffit d'appliquer un élément de "filtre" de sorte que la fonction n'est exécutée que lorsqu'il est propagée à un élément qui correspond au sélecteur. Cela signifie que vous avez juste une fonction qui existe (ce n'est pas un tas de copies) lié à un seul élément - une bien meilleure approche de l'ajout de "vivre" des événements dans les DOM.
... et c'est ce que les différences sont, et pourquoi chaque fonction existe et pourquoi live()
est amorti.