我在 Javascript 的事件处理程序中有以下问题。我有一个具有mousemove
如下事件处理程序的对象:
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()
。有了它,您可以传递要在指定事件上触发的函数的对象。我基本上在寻找同样的东西。