javascript 对象 - 如何绑定(bind)到 "this"

标签 javascript function object scope bind

App.Order = {
    oForm : $('#order-form'),

    expertMode :  false,

    expertModeData : null,

    init : function() {
            $('#toggle-expert-mode').on('click', function() {
                this.switchMode();
            });
    }
}

如何绑定(bind)this在点击事件处理程序中。这也是添加事件监听器的正确方法吗?我的意思是在 init 方法中?

正在做App.Order.switchMode()没有意义,因为如果我更改对象名称会发生​​什么?

谢谢

最佳答案

How do i bind this inside the click event handler.

确实如你所说。您绑定(bind)(此):

App.Order = {
    // ...
    init : function() {
        $('#toggle-expert-mode').on('click', function() {
            this.switchMode();
        }.bind(this));
    }
}

关于javascript 对象 - 如何绑定(bind)到 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20332242/

相关文章:

c++ - 在 C++ 中求解非线性系统

javascript - 创建时如何从同一对象引用键?

javascript - JS 对象结构化和添加

javascript - 在 JavaScript 中将数组解包为单独的变量

javascript - 使用jQuery根据scrollTop位置显示div

javascript - 如何可靠地散列 JavaScript 对象?

c - 将数组作为参数传递给 C 中的函数

python - 如何在 Python 3 中调用函数之前停止执行

javascript - 在使用它之前,我是否必须在 Javascript 中的对象内部声明一个空数组?

javascript - 删除现有 Set 中的一组值