2012-06-13 29 views
0

我有一个变量作用域的问题。我设置事件监听器(onclick),但处理程序是对象的方法,我需要引用处理程序方法中的对象。对象的事件处理程序方法

例如:

var FOO = function() { 
this.clicked = false 
}; 

FOO.prototype.handler = function(e) 
{ 
this.clicked = true; 
} 

FOO.prototype.setListeners = function() 
{ 
$("#but").click(this.handler); 
} 

var oop = new FOO(); 
oop.setListeners(); 

实施例的工作方式与点this.clicked = true;其中因为this不指oop

如何将对象的引用传递给处理函数?的

+0

可能重复[如何得到这个对象在jQuery中点击事件的处理?(http://stackoverflow.com/questions/4466524/how-to-get-the-这-A-对象在-A-处理器换的,一键式事件中,jQuery的) –

回答

1
FOO.prototype.setListeners = function() 
{ 
    var that = this; 
    $("#but").click(function(){that.handler();}); 
} 
相关问题