处理'this'变化的最佳方法

时间:2009-08-29 09:54:39

标签: javascript jquery object events this

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

目前,如果我想从事件处理程序中引用该对象,我会执行以下操作:

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

是否有更好的方法来处理事件总是要重新分配'this'

的事实

2 个答案:

答案 0 :(得分:4)

你在做什么是在jQuery中处理它的标准方法。 jQuery的下一个版本将使您能够定义您希望此上下文的内容。阅读Brandons blog帖子了解更多信息。

答案 1 :(得分:0)

更改的原因是因为javascript范围的工作原理。如果你想做任何严肃的js,最好理解这个基本概念。

这里对这个概念的解释:

jQuery/JavaScript "this" pointer confusion