Javascript 从mousemove调用类函数时未定义EventObject

Javascript 从mousemove调用类函数时未定义EventObject,javascript,jquery,Javascript,Jquery,我写了一个“管理”a元素的对象。我想让它在mousemove上做点什么,所以我在一个函数中写了这行代码,我调用它来创建这个-元素的内容: $('#' + this.slider_id).mousemove(this.mouseMoveHandler(e)); 后来,我定义了一个处理此事件的函数: this.mouseMoveHandler = function (e) { var mouseX = e.pageX; .... } 但当我打电话给它时,我得到的只是: Unca

我写了一个“管理”a元素的对象。我想让它在mousemove上做点什么,所以我在一个函数中写了这行代码,我调用它来创建这个-元素的内容:

$('#' + this.slider_id).mousemove(this.mouseMoveHandler(e));
后来,我定义了一个处理此事件的函数:

this.mouseMoveHandler = function (e) {
    var mouseX = e.pageX;
    ....
}
但当我打电话给它时,我得到的只是:

 Uncaught ReferenceError: e is not defined

我错过了什么?

正如罗布提到的。。。实际上,您正在使用一些未知变量
e
调用函数。您应该向函数本身传递一个引用,然后在事件发生时调用该函数,并传递事件对象

要解决所有这些问题,只需执行以下操作:

$('#' + this.slider_id).mousemove(this.mouseMoveHandler);

不调用函数,但传递函数引用:
$('#'+this.slider\u id).mousemove(this.mouseMoveHandler)谢谢,但我有一个后续问题:我声明了一些如下的对象变量:
$.slider=function(){this.pct=newarray();
但是当我试图在我的mouseMoveHandler中调用它们时,这些变量是未定义的。这个函数是在另一个作用域中调用的吗?找到了解决方案:我必须用
$.proxy调用
this.mouseMoveHandler
(this.mouseMoveHandler,this)