J'ai le problème suivant dans les gestionnaires d'événements en Javascript. J'ai un objet qui a un gestionnaire d'événement mousemove comme ça.Gestion globale des événements Javascript Contexte de l'objet
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 };
}
};
Le problème que j'essaie de résoudre se résout autour du contexte d'objet. Dans ma fonction onMouseMove, elle affecte la propriété currentMousePosition. Naturellement, cela ne fonctionnera pas car c'est une fonction statique qui gère l'événement mousemove. Ce que je cherche est une technique/méthode pour passer un contexte d'objet avec mon gestionnaire d'événements. Le meilleur exemple auquel je puisse penser est la fonction de l'API Google Maps GEvent.bind() Avec elle, vous pouvez passer l'objet avec la fonction que vous voulez déclencher sur l'événement spécifié. Je cherche essentiellement la même chose.
C'est un bon début, je vous remercie! – Matt