Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:`this`和object.method事件处理程序_Javascript_Jquery_Methods_This - Fatal编程技术网

Javascript:`this`和object.method事件处理程序

Javascript:`this`和object.method事件处理程序,javascript,jquery,methods,this,Javascript,Jquery,Methods,This,我试图从一个对象中获取一堆el,并附加一个方法作为单击处理程序,并将单击的el传递给函数。代码如下所示(jQuery): 当我在svCatEditor.controller中退出$(this)时,我会得到窗口对象。我明白为什么会这样: 我不明白的是如何避开它。我是否需要采取完全不同的方法,或者我是否缺少一些简单的方法 提前感谢。您必须按以下方式进行: svCatEditor.list.bind('click', function() { svCatEditor.controller($(this

我试图从一个对象中获取一堆
el
,并附加一个方法作为单击处理程序,并将单击的
el
传递给函数。代码如下所示(jQuery):

当我在
svCatEditor.controller
中退出
$(this)
时,我会得到
窗口
对象。我明白为什么会这样:

我不明白的是如何避开它。我是否需要采取完全不同的方法,或者我是否缺少一些简单的方法


提前感谢。

您必须按以下方式进行:

svCatEditor.list.bind('click', function() { svCatEditor.controller($(this)) } );
在回调函数的上下文中引用触发事件处理程序的当前对象。否则,在外部上下文
中,此
指的是窗口

svCatEditor.list.bind('click', function() { svCatEditor.controller($(this)) } );