Lorsque vous utilisez jQuery pour connecter un gestionnaire d'événements, y a-t-il une différence entre l'utilisation de la méthode click
$().click(fn)
par rapport à l'utilisation de la méthode bind
$().bind('click',fn);
Autre que le paramètre de données facultatif de bind.
javascript
jquery
event-handling
Alan Storm
la source
la source
Réponses:
Pour ce que ça vaut, à partir de la source jQuery :
Alors non, il n'y a pas de différence -
appels
la source
click()
est fondamentalement un raccourci pourbind('click')
(ou, à cette époque, il appelle réellementon('click')
. La façon dont je le vois, vous pourriez aussi bien vous sauver cet appel de fonction supplémentaire en utilisanton('click')
directement.+1 pour la réponse de Matthew, mais j'ai pensé que je devrais mentionner que vous pouvez également lier plus d'un gestionnaire d'événements en une seule fois en utilisant
bind
qui est l'équivalent beaucoup plus propre de:
la source
Il existe une différence en ce que vous pouvez lier des événements personnalisés à l'aide du deuxième formulaire que vous avez. Sinon, ils semblent également être. Voir: documentation sur les événements jQuery
la source
Il y a le paramètre [data] de la liaison qui ne se produira qu'une seule fois au moment de la liaison.
Vous pouvez également spécifier des événements personnalisés comme premier paramètre de bind.
la source
Je trouve que le .click () est beaucoup plus logique, mais je suppose que c'est ainsi que vous pensez les choses.
Cela semble être aussi simple que possible.
la source
Si vous avez Google Chrome, leurs outils de développement ont un outil d'écoute d'événements, sélectionnez l'élément que vous souhaitez espionner son événement.
Vous constaterez que les deux méthodes conduisent au même résultat, elles sont donc équivalentes.
la source
Je préfère .bind () en raison de sa cohérence d'interface avec .live () . Non seulement cela rend le code plus lisible, mais cela facilite également la modification d'une ligne de code pour utiliser une méthode au lieu de l'autre.
la source