我正在尝试从对象中获取一堆el
并将方法作为单击处理程序附加,并将单击的el
传递给该函数。代码看起来像这样(jQuery):
svCatEditor.list.bind('click', svCatEditor.controller($(this)));
当我在$(this)
中控制{。{}}时,我得到了svCatEditor.controller
个对象。我理解为什么会这样:http://unschooled.org/2012/03/understanding-javascript-this/
我不明白的是如何绕过它。我是否需要采取完全不同的方法,或者是否有一些我缺少的简单方法?
提前致谢。
答案 0 :(得分:2)
你必须按照以下方式进行:
svCatEditor.list.bind('click', function() { svCatEditor.controller($(this)) } );
回调函数的上下文中的 this
指的是触发事件处理程序的当前对象。否则在您的外部环境中this
指向窗口。