J'ai rencontré plusieurs méthodes pour gérer les événements de clic dans jquery :
lier :
$('#mydiv').bind('click', function() {
...
});
cliquez :
$('#mydiv').click(function() {
...
}
sur :
$('mydiv').on('click', function() {
...
}
Deux questions :
- Existe-t-il d'autres moyens de procéder ?
- Lequel dois-je utiliser, et pourquoi ?
UPDATE :
Comme tout le monde l'a suggéré, j'aurais dû mieux lire la documentation, et découvrir que je devais utiliser.. :
on() ou click(),
qui sont effectivement la même chose.
Cependant, personne n'a expliqué pourquoi le bind n'est plus recommandé ? Je vais probablement recevoir d'autres votes négatifs pour avoir manqué l'évidence quelque part, mais je ne trouve pas de raison à cela dans les documents.
UPDATE2 :
L'option "on" permet d'ajouter des gestionnaires d'événements à des éléments créés de manière dynamique.
$('body').on('click',".myclass",function() {
alert("Clicked On MyClass element");
});
Ce code ajoute un gestionnaire de clics aux éléments dont la classe est 'myClass'. Cependant, si d'autres éléments myClass sont ajoutés dynamiquement par la suite, ils obtiennent automatiquement le gestionnaire de clics, sans avoir à appeler explicitement 'on'. D'après ce que je comprends, cette méthode est également plus efficace (voir la réponse de Simon ci-dessous).