Du hast eine Frage? Stell sie der t3n-Community!

? Beispielfragen

Um selbst eine Frage online zu stellen, melde dich bitte an.

Zur Anmeldung

JavaScript: Functions-Closure für Event

5 Punkte

Frage markiert als beantwortet

von ichnoweb  Nerd  vor ca einem Jahr

Hallo,

ich habe ein Problem mit dem Funktionskontext in meiner Klasse.
Als Framework kommt mootools zum Einsatz.

In der Funktion “prepareLabels” wird an einzelne Elemente ein Event-Listener gebunden, der dementsprechend beim Auftreten des Events eine weitere Funktion der Klasse (“changeImage”) aufrufen soll. Da ich mich zum zum Zeitpunkt des Events aber in dem Kontext des Events selbst (sprich “this” referenziert den Event-Auslöser) lässt sich nicht die Funktion “changeImage” aufrufen.

Jetzt wäre meine Frage wie ich es schaffe bei dem Event für den richtigen Kontext zu sorgen.

Danke schonmal für die Hilfe.

Nachträglich bearbeitet am 03.09.10 16:58

Code

prepareLabels: function(dataProperty,defaultEvent){
		var i = 0;
		$each(stageLabels,function(listElement){
			listElement.setProperty(dataProperty,i);
			listElement.addEvent(defaultEvent,function(e){
				this.changeImage(e.target);										   
			},this);
			i++;
		})
	},
	changeImage: function(trigger){
		if(trigger.hasClass(this.activeClass)){
			return;	
		}else{

....

1 Antwort

0 Punkte

von ichnoweb  Nerd  vor ca einem Jahr

Habe eine Lösung gefunden:

Code

listElement.addEvent(defaultEvent,function(e){
   this.changeImage(e.target);
}.bind(this));

Antwort schreiben

Um eine Antwort schreiben zu können, sollest du dich zuvor anmelden.

Zur Anmeldung