Events in einer Klasse

Guillermo

Mitglied
Hallo,
ich habe ein kleines Problem. Ich habe eine Klasse geschrieben, die Events benützten soll. Diese Events werden im Konstruktor definiert, und sollen Funktionen der Klasseninstanz aufrufen, nur geht das nicht.

Hier ein Besipiel:

Code:
function Auto () {

	document.onclick = function() {
		//this zeigt nicht auf die Instanz der Klasse Auto, was tun ?
		this.fahren();
	}
}

Auto.prototype.fahren = function() {
	//lasse das auto fahren
}

Weiß jemand eine Lösung ?

Gruß Guillermo
 
Moin Guillermo,

die Lösung nennt sich Closure:
Code:
<script type="text/javascript">
<!--
function Auto () 
{
  var _this=this;
	document.onclick = function() 
	{
		_this.fahren();
	}
}

Auto.prototype.fahren = function() 
{
	//lasse das auto fahren
	alert('ich fahre');
}
new Auto();
//-->
</script>
 
Zurück