相关疑难解决方法(0)

JavaScript回调范围

我在回调函数中引用我的对象时遇到了一些普通的旧JavaScript(没有框架)的问题.

function foo(id) {
    this.dom = document.getElementById(id);
    this.bar = 5;
    var self = this;
    this.dom.addEventListener("click", self.onclick, false);
}

foo.prototype = {
    onclick : function() {
        this.bar = 7;
    }
};
Run Code Online (Sandbox Code Playgroud)

现在当我创建一个新对象时(在DOM加载后,使用span #test)

var x = new foo('test');
Run Code Online (Sandbox Code Playgroud)

onclick函数中的'this'指向span#test而不是foo对象.

如何在onclick函数中获取对foo对象的引用?

javascript events binding scope callback

58
推荐指数
3
解决办法
5万
查看次数

标签 统计

binding ×1

callback ×1

events ×1

javascript ×1

scope ×1