Salut,
Je crée des objects à la volée avec Javascript puis leurs attribuent des gestionnaire d'événements, juque la nikel, Puis lorsque j'ajoute un élément seul et attribue les gestionnaire sur celui-ci, les autres précédement créer perdent les leurs, voici le code qui créer X object puis attribue des ev.
Voici ensuite le code qui créer attribue les gestionnaires a mon object crer de manière unique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 zone.prototype.addEventListener = function(){ var nbObj = this.objectInclude.length; //debugeWrite(nbObj); var divElem; for(i=0; i< nbObj; i++){ //on recherche l'éléments //debugeWrite(this.objectInclude[i].nom); divElem = findObj(this.objectInclude[i].nom); divElem.ondblclick = divObject.prototype.click_; divElem.onmouseover = divObject.prototype.onMouseOver_; divElem.onmouseout = divObject.prototype.onMouseOut_; divElem.oncontextmenu = divObject.prototype.onContextMenu_; divElem.onmousedown = divObject.prototype.onMouseDown_; divElem.onmouseup = divObject.prototype.onMouseUp_; //on remplit les données de l'object data this.objectInclude[i].cssStyle = divElem.className; this.objectInclude[i].XPos = getElementLeft(this.objectInclude[i].nom); this.objectInclude[i].YPos = getElementTop(this.objectInclude[i].nom); } }
Je suis finalement obliger lorsque je j'ajoute un object div au lieu d'attibuer uniquement a ce nouvel object les gestionnaire désirés, d'effectuer à nouveau a tous mes objects de mon td les gestionnaires d'ev.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 newElem= findObj(this.objectInclude[i].nom); newElem.ondblclick = divObject.prototype.click_; newElem.onmouseover = divObject.prototype.onMouseOver_; newElem.onmouseout = divObject.prototype.onMouseOut_; newElem.oncontextmenu = divObject.prototype.onContextMenu_; newElem.onmousedown = divObject.prototype.onMouseDown_; newElem.onmouseup = divObject.prototype.onMouseUp_; //on remplit les données de l'object data this.objectInclude[i].cssStyle = newElem.className; this.objectInclude[i].XPos = getElementLeft(this.objectInclude[i].nom); this.objectInclude[i].YPos = getElementTop(this.objectInclude[i].nom);
Une idée ?
fross
Partager