javascript - 如何从 Javascript 的内部函数访问父对象?

标签 javascript events methods scope this

我通过以下方式声明了一个类:

function maskEditor() {
    this.init();
};

maskEditor.prototype = {
    foo: null,
    container: new createjs.Container(),

    init:function () {
        this.foo = "bar";
        this.container.on("mousedown", this.onMouseDown); // This is just an easeljs event dispatcher
    },

    onMouseDown: function (event) {
        alert(this.foo); // WRONG. 'this' is out of the scope :(
    }
};

长话短说:我使用easeljs库,并且我已经声明了一个事件调度程序来捕获鼠标点击。我需要从该方法内部访问 maskEditor 对象。我怎样才能做到这一点?

最佳答案

您需要将上下文绑定(bind)到事件处理程序:

this.container.on("mousedown", this.onMouseDown.bind(this));

关于javascript - 如何从 Javascript 的内部函数访问父对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31189981/

相关文章:

javascript - d3 js 中的工具提示(子弹图)

Javascript Clonenode() - 通过 id 获取元素?

c# - 将异步事件限制到调用对象

c# - 监听另一个应用程序的退出

java - 生成 "_ _ _ "的方法仅返回 "_ "

c - C 中的速度胜过风格?

javascript - 从 Object.keys 和 forEach 方法 javascript 访问新对象

javascript - 从 csv 文件绘制数据

unit-testing - 编写单元测试以检查事件是否被触发

java - 不能从静态上下文中引用非静态字段 - Main 方法