Tengo el siguiente problema en los controladores de eventos en Javascript. Tengo un objeto que tiene un manejador de eventos mousemove como ese.Contexto global del objeto de manipulación de eventos de Javascript
function MyObject(){ }
function MyObject.prototype = {
currentMousePosition: null,
onMouseMove: function(ev){
this.currentMousePosition = this.getCoordinates(ev);
},
getCoordinates: function(ev){
if (ev.pageX || ev.pageY)
return { x: ev.pageX, y: ev.pageY };
return { x: ev.clientX + document.body.scrollLeft - document.body.clientLeft, y: ev.clientY + document.body.scrollTop - document.body.clientTop };
}
};
El problema que estoy tratando de resolver se resuelve en el contexto del objeto. Dentro de mi función onMouseMove, asigna la propiedad currentMousePosition. Naturalmente, esto no funcionará porque es una función estática que maneja el evento mousemove.
Lo que estoy buscando es una técnica/método para pasar un contexto de objeto con mi controlador de eventos. El mejor ejemplo que puedo pensar es la función API de Google Maps GEvent.bind() Con ella puede pasar el objeto con la función que desea activar en el evento especificado. En esencia, estoy buscando lo mismo.
Este es un gran comienzo, gracias! – Matt