2011-07-22 4 views
5

Lors de l'utilisation du .delegate puis-je choisir plusieurs éléments ou dois-je utiliser .delegate pour chaque élément avec lequel je dois travailler? (la fonction sera la même pour tous les éléments)jQuery .delegate() sur plusieurs éléments

par exemple.

$('#div').delegate('a', 'click' (function(){ // This is ok 
     .delegate('a, element_2, element_3', 'click' (function(){ // IS THIS OK?? 

Répondre

11

C'est bien puisque 'a, element_2, element_3' est un sélecteur valide, qui est le premier argument de .delegate().

MAIS, vos arguments ne sont pas séparés par des virgules correctement, il devrait être:

$('#div').delegate('a, element_2, element_3', 'click', function(){ 
    //function go here 
}); 
+1

Et juste pour le ramener à la maison, [tout semble être bien] (http://jsfiddle.net/XeTSj/1/). –

1

Cette seconde méthode semble être correct comme a, element_1, element_2 retourne un ensemble d'éléments qui ont la fonction .delegate() appliquée .

1

Oui, il est OK, la documentation indique

.delegate(selector, events) 

sélecteur étant tout sélecteur jQuery valide. Même votre premier appel peut renvoyer plus d'un élément.