Quelle est la différence entre $ (".tout"). Click() et $ (" .anything "). bind (cliquez)
$(".anything").click(function() {
});
$(".anything").bind('click', function() {
});
Quelle est la différence entre $ (".tout"). Click() et $ (" .anything "). bind (cliquez)
$(".anything").click(function() {
});
$(".anything").bind('click', function() {
});
Le premier est un raccourci de la seconde. La deuxième est en fait faux, click
aurait dû être cité. En outre, dans la seconde vous avez l'avantage supplémentaire que vous pouvez lier la même fonction à plusieurs événements, chacun étant séparé par un espace. Par exemple.
$(".anything").bind("click keypress blur", function() {
});
Rien, click(function() { })
est juste un raccourci pour bind("click", function() { })
.
De la documentation jQuery:
La bibliothèque jQuery fournit des méthodes de raccourci pour lier les types d'événements standard, tels que .cliquez() pour .bind (clic).
Vous pouvez en savoir plus sur bind()
here.
Dans ce cas précis, absolument rien.
Cependant:
A) Si vous donnez .click()
aucun argument, il déclenche l'événement au lieu de définir le gestionnaire.
B) ne .bind()
vous permet d'utiliser la voie « un espace de nommage » de l'inscription des gestionnaires:
$(whatever).bind('click.myEvent', function (e) { ... });
$(whatever).unbind('click.myEvent'); // Removes just that handler
Voir ce poste, qui pointe vers la source JQuery pour montrer que .cliquez (fn) appelle simplement .bind ('click', fn): jQuery: $().click(fn) vs. $().bind('click',fn);
J'utilise généralement ce dernier si:
var fn = function() { alert('foo'); } $('#foo').bind('click', fn); ... $('#foo').unbind('click', fn);
'.bind ("clic", ...)' doit être une chaîne. – jwueller
Modifié pour un problème de chaîne. –
@elusive ohh vous avez raison. – faressoft