【问题标题】:The best way to handle a change in 'this'处理“this”变化的最佳方式
【发布时间】:2009-08-29 09:54:39
【问题描述】:

我经常遇到使用 jQuery 编写 javascript 的一个问题是,当对象的方法涉及添加事件侦听器时,“this”从对对象的引用变为对触发事件的 DOM 元素的引用.

目前,如果我想从事件处理程序中引用对象,我会这样做:

var theObject = this;
$('selector').click(function() {
   theObject.methodToApply();
   $(this).css('background','red');
});

有没有更好的方法来处理事件总是要重新分配“this”这一事实

【问题讨论】:

    标签: javascript jquery object events this


    【解决方案1】:

    您所做的是在 jQuery 中处理它的标准方式。 jQuery 的下一个版本将使您能够定义您想要的 this 上下文。阅读Brandons blog 帖子了解更多信息。

    【讨论】:

      【解决方案2】:

      this 发生变化的原因是由于 javascript 作用域的工作方式。如果你想做任何严肃的js,最好理解这个基本概念。

      这里解释这个概念:

      jQuery/JavaScript "this" pointer confusion

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多