Il problema è che le funzioni associate agli Eventi hanno come scope l'oggetto window, non lo scope nel momento in cui vengono definiti. Puoi implementare una funzione chiamata bind, da chiamare al momento della definizione dell'evento:
http://snipplr.com/view/2756/bind/
il tuo codice diverrebbe
codice:this.domElement.onmousemove=bind(function(event){ //Offset in pixel del canvas rispetto all'angoli in alto a sx della pagina TODO considerare l'albero completo di oggetti parent if(event.pageX){ var canvasOffset=new Array(this.domElement.parentNode.offsetLeft,this.domElement.parentNode.offsetTop); var mousePos=new Array(event.pageX-canvasOffset[0],event.pageY-canvasOffset[1]); if(this.tileMap!=null) alert(mousePos[0]+' '+mousePos[1]); else alert('no tilemap loaded'); } //else TODO implementare compatibilità con IE7+ }.bind(this)

Rispondi quotando