如何访问变量"这个"内部事件处理程序

时间:2016-10-12 23:04:21

标签: javascript jquery scope this

<div id="menu">
  <div>foo</div>
  <div>bar</div>
</div>

是否可以在事件处理程序方法this中访问引用thing的{​​{1}}而不是引用所点击的div的this

注意:我需要访问handleClick内的this

handleClick

1 个答案:

答案 0 :(得分:1)

标准方法是将其包装并将_this变量转换为闭包中使用的内容:

this.menu.on("click", "div", function() {
  _this.handleClick();
});

现在它已正确绑定到原始this

您可能想要添加一个参数来捕获所点击的内容:

this.menu.on("click", "div", function(ev) {
  _this.handleClick(ev, this);
});

然后确保您的方法收到:

handleClick: function(ev, target) {
  // ev = Event generated
  // target = The target clicked
}