Javascript 对象的事件处理程序方法

Javascript 对象的事件处理程序方法,javascript,jquery,javascript-events,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);

我对可变范围有问题。我正在设置事件侦听器(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其中,因为
不引用
oop

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

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