Dieser macht mich verrückt ... Ich habe eine Schleife, die einem SVG-Objekt einen Ereignis-Listener hinzufügt. Das Objekt ist der Argumentation halber ein kleiner Kreis, und ich muss Mouseover- und Mouseout-Ereignisse für jeden der 10 Kreise hinzufügen.
Mein erstes Problem ist die Standard-Closure-Scope-Sache - da alle Listener in derselben Schleife hinzugefügt werden, sehen sie alle denselben ungültigen Wert der Loop-Variablen. Ich kann das beheben, denke ich, aber das zweite Problem ist, dass ich "Ereignis" an die Zuhörer weitergeben muss, und ich kann keine Möglichkeit finden, diese beiden Probleme gleichzeitig zu beheben.
Ich habe verschiedene Versionen davon ausprobiert:
%Vor% Diese spezielle Version gibt mir "Ereignis ist nicht definiert". popup_on
ist der echte Handler und muss event
und den aktuellen Wert von month
erhalten. Irgendeine Idee, wie ich das machen sollte? Danke.
Das Ereignis wird automatisch an Ihre Funktion übergeben - machen Sie es als erstes Argument für die Funktion, die Sie an addEventListener
übergeben. Außerdem ist false der Standardwert für den Erfassungsparameter.
Auch, ist es in Ordnung, wenn foo
in Ihrem Event Callback geschlossen ist? Wenn nicht, könntest du das gleiche tun
Und wenn all diese lokalen Variablen nervig werden, kannst du sie zu Parametern machen, um die Dinge etwas aufgeräumter zu machen.
%Vor%Tags und Links javascript events closures addeventlistener