可能重复:
How to get the this of a object in a handler for a click event in jquery?
我正在尝试创建将少数事件绑定到另一个对象方法的对象。我的代码是这样的:
var MAP = MAP || {}
MAP = {
height: 100
/*
* rest of code
*/
};
var CONFIG = CONFIG || {}
CONFIG = {
_MAP : MAP,
setEvents:function(){
$('#map').mousedown(function(){
height = this._MAP.height;
console.log(height);
}
};
$(function(){ CONFIG.setEvents(); })
并且我无法将setEvents方法中的高度与MAP.height连接,但是当我直接从方法调用this._MAP.height时(没有绑定到鼠标按下),每件事都可以。有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
.mousedown
this
的函数正文中指的是$('#map')
找到的DOMElement。
为了跟踪正确的this
,您希望在调用.mousedown
之外将其存储在闭包中。例如var $this = this
函数中的setEvents
。