Salut, j'ai un problème assez embetant avec ce code:
Qui va attacher un évènement clic sur tous les <span class=editinplace> avec le même id à chaque fois, le dernier de mon tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function EditInPlace() { var v=getElementsBySelector("span.editinplace"); var l=v.length; for(i=0;i<l;i++) { var id_span = v[i].id; addEvent(v[i],'click',function() { ShowEditInPlace(id_span); }); } }
Si j'ai par exemple:
<span id=s1 class=editinplace>Test</span>
<span id=s2 class=editinplace>Test</span>
<span id=s3 class=editinplace>Test</span>
Chaque clic sur n'importe lequel de ces 3 spans appelera ShowEditInPlace(s3).
Le comportement correct serait d'appeler ShowEditInPlace avec en paramètre le bon id pour chaque span.
Si je fais en dur:
Après le for, en enlevant la ligne addEvent du for, ShowEditInPlace aura à chaque fois le bon paramètre si je clic sur un des spans = c'est le comportement que je voudrais avoir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 addEvent(v[0],'click',function() { ShowEditInPlace(v[0].id); }); addEvent(v[1],'click',function() { ShowEditInPlace(v[1].id); }); addEvent(v[2],'click',function() { ShowEditInPlace(v[2].id); });
Une idée de pourquoi celà ne marche pas lorsque je le fais dans le for?
Partager