jquery1.7 passage de live() à on() capricieux sur éléments créés
bonjour
J'essaie de convertir une méthode live() en on() en passant à jquery 1.7, mais c'est capricieux.
J'ai 3 niveaux de tableaux imbriqués où je peux cloner les lignes pour chaque niveau. Le dernier niveau contiennent une boite de sélection, en simplifiant, le html est ainsi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <table class="tab1">
<tbody >
<tr> <-- 1er niveau
<td>
<table class="tab2">
<tbody>
<tr> <-- 2ème niveau
<td>
<table class="tab3">
<tbody >
<tr> <-- 3ème niveau
<td><select></select></td> <-- boite de sélection ici
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table> |
et après clonage avec un append() d'une ligne d'un niveau donné, j'obtiens le comportement suivant sur les nouvelles boîtes de dialogue :
Code:
1 2 3
| $('table.tab3 select').live('change', function(){
....(fonctionne très bien avec les 3 niveaux)
}); |
Code:
1 2 3 4
| $('table.tab3').on('change', 'select', function(){
...(ne fonctionne pas avec les clones de niveau 1 et 2)
...(fonctionne avec les clones de niveau 3)
}); |
J'ai loupé quelque chose ou c'est un bug ?
merci