Essayer de comprendre comment utiliser la méthode Jquery .on () avec un sélecteur spécifique auquel plusieurs événements sont associés. J'utilisais auparavant la méthode .live (), mais je ne sais pas trop comment accomplir le même exploit avec .on (). S'il vous plaît voir mon code ci-dessous:
$("table.planning_grid td").live({
mouseenter:function(){
$(this).parent("tr").find("a.delete").show();
},
mouseleave:function(){
$(this).parent("tr").find("a.delete").hide();
},
click:function(){
//do something else.
}
});
Je sais que je peux attribuer plusieurs événements en appelant:
$("table.planning_grid td").on({
mouseenter:function(){ //see above
},
mouseleave:function(){ //see above
}
click:function(){ //etc
}
});
Mais je pense que l'utilisation correcte de .on () serait comme ceci:
$("table.planning_grid").on('mouseenter','td',function(){});
Y a-t-il un moyen d'accomplir cela? Ou quelle est la meilleure pratique ici? J'ai essayé le code ci-dessous, mais pas de dés.
$("table.planning_grid").on('td',{
mouseenter: function(){ /* event1 */ },
mouseleave: function(){ /* event2 */ },
click: function(){ /* event3 */ }
});
Merci d'avance!
javascript
jquery
jquery-selectors
jquery-1.7
butangphp
la source
la source
$("table.planning_grid td")
?<table>
lieu de chaque<td>
élément individuel , ce qui est en effet la bonne voie à suivre.<table>
lieu d'un seul par<td>
élément devient obligatoire pour obtenir des performances utilisables..bind
et.live
. Bonne réponse, exactement ce que je cherchais: D @ Frédéric - Votre lien ne renvoie plus à un en-têteid
sur la page de documentation jquery. Probablement le résultat d'une documentation mise à jour. Mais je n'ai pas pu trouver cette réponse sur cette page.De plus, si vous aviez plusieurs gestionnaires d'événements attachés au même sélecteur exécutant la même fonction, vous pouvez utiliser
la source
Si vous souhaitez utiliser la même fonction sur différents événements, le bloc de code suivant peut être utilisé
la source
J'ai appris quelque chose de vraiment utile et fondamental d' ici .
le chaînage des fonctions est très utile dans ce cas qui fonctionne sur la plupart des fonctions jQuery, y compris sur la sortie de fonction.
Cela fonctionne car la sortie de la plupart des fonctions jQuery sont les ensembles d'objets d'entrée afin que vous puissiez les utiliser tout de suite et le rendre plus court et plus intelligent
la source
Et vous pouvez combiner les mêmes événements / fonctions de cette manière:
la source
Essayez avec le code suivant:
la source