我不确定解决此问题的最佳方法是什么。

我有一个控件,希望能够打开并持久保存某些数据或随时对其进行更改。

function TaskControl(params) {
    this.params = params;

    this.openTaskControl = function () {
        alert("openTaskControl");
    }

    $("#button").click(function () {
        this.openTaskControl();
    });
}


我遇到的问题是尝试调用openTaskControl会引发错误,因为this显然是指HTML元素,而不是TaskControl。如何从click函数内部调用此函数?

最佳答案

function TaskControl(params) {
        this.params = params;
        var that = this;

        this.openTaskControl = function () {
                alert("openTaskControl");
        }

        $("#button").click(function () {
                that.openTaskControl();
        });
}

07-24 16:23