无法在jquery中调用另一个函数内的函数

时间:2018-05-15 07:08:28

标签: javascript jquery

我在jQuery对象中调用另一个函数内部的函数时犯了一些错误。我的代码是这样的:

var employee = function() {
  this.init();
};

employee.prototype = {
  init: function() {
    $(document).on("click", "#addEmployee", this.addEmployee);
  },
  updateErrorMsg: function() {
    alert('Error');
  },
  addEmployee: function(e) {
    updateErrorMsg();
  }
}

我添加了$(document)来附加事件,因为视图是局部视图。 我收到了错误:

  

未捕获的ReferenceError:未定义updateErrorMsg

请帮我解决我的错误。

1 个答案:

答案 0 :(得分:1)

实际上这个引用在这里是不正确的,你可以像这样重写你的代码

var employee = {
    init: function() {
        var that = this;
        $(document).on("click", "#addEmployee", that.addEmployee);
    },
    updateErrorMsg: function() {
        alert('Error');
    },
    addEmployee: function(e) {
        updateErrorMsg();
    }
}
employee.init();