2012-06-13 54 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();}); 
} 
相關問題