从方法js中的函数获取对象属性

obtaining object property from function in method js

本文关键字:获取 取对象 属性 函数 方法 js      更新时间:2023-11-04

可能重复:
如何在jquery中的click事件的处理程序中获取对象的this?

我正在尝试创建一个对象,它将把一些事件绑定到另一个对象方法。我的代码是这样的:

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方法中的height与MAP.height连接起来,但当我调用它时_MAP.height直接从方法(不绑定到鼠标)一切都可以。有人能帮我解决这个问题吗?

.mousedown的函数体中,this是指$('#map')找到的DOMElement。

为了跟踪正确的this,您希望将其存储在对.mousedown的调用之外的闭包中。例如setEvents函数中的var $this = this