代码之家  ›  专栏  ›  技术社区  ›  Archie

Rhino:无法修改密封对象的属性

  •  0
  • Archie  · 技术社区  · 3 年前

    在回调函数中引用我的对象时,我在使用普通的旧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;
        }
    };
    

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

    var x = new foo('test');
    

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

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

    0 回复  |  直到 16 年前