Javascript 对象的事件处理程序方法
我对可变范围有问题。我正在设置事件侦听器(onclick),但处理程序是对象的方法,我需要在处理程序方法中引用该对象 例如: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);
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();});
}