Javascript中的事件处理程序中有以下问题。我有一个有这样的mousemove事件处理程序的对象。全局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 };
}
};
我试图解决的问题解决了周围的对象上下文。在我的onMouseMove函数中,它分配currentMousePosition属性。当然,这是行不通的,因为它是一个处理mousemove事件的静态函数。
我在找什么是一种技术/方法来传递一个对象上下文与我的事件处理程序。我能想到的最好的例子是Google Maps API函数GEvent.bind() 使用它可以将对象与想要在指定事件上触发的函数一起传递。我基本上是在寻找同样的事情。
这是一个很好的开始,谢谢! – Matt 2010-02-11 03:05:37