Kann nicht passieren, Veranstaltung addEventListener: Verschluss Problem

This one ' s driving me crazy... ich habe eine Schleife, die fügt einen Ereignis-listener für ein SVG-Objekt. Das Objekt ist, für die Zwecke der Beweisführung, ein kleiner Kreis, und ich muss hinzufügen, mouseover-und mouseout-events für jede der 10 Kreise.

Mein erstes problem ist das standard-Verschluss-Umfang der Sache - denn alle Listener Hinzugefügt werden, in der gleichen Schleife, Sie alle sehen die gleichen ungültigen Wert der schleifenvariablen. Kann ich dieses Problem beheben, denke ich, aber das zweite problem ist, dass ich zu Durchlaufen haben, 'Ereignis', um den Hörer, und ich kann nicht finden, jeder Weg, um zu beheben diese Probleme gleichzeitig.

Habe ich versucht, verschiedene Versionen von diesem:

for(month = 0; month < nMonths; month++) {
   ...
   shape.addEventListener(
     "mouseover", 
     (function(event, index) { popup_on(event, foo, index); })(event, month),
     false);
   group.appendChild(shape);
}

Diese spezielle version gibt mir '- Ereignis nicht definiert'. popup_on ist der eigentliche handler, und muss event und der aktuelle Wert von month. Irgendeine Idee, wie ich dies tun sollte? Danke.

InformationsquelleAutor EML | 2012-01-03
Schreibe einen Kommentar