对象的事件处理程序方法

时间:2012-06-13 19:36:59

标签: javascript jquery javascript-events

我的变量范围有问题。我正在设置事件监听器(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

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

1 个答案:

答案 0 :(得分:1)

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