1

我相信这是问题所在。

我有一些对象:

(function(){

  var call_new_function  = function(){
  // do some stuff: but this is function is undefined when called from callback

  }


   var someObject = new Thing();
   $(some_ele).click(function(){
      var _this = this;
      someObject.doSomething({
       // some values are set up

      },
     callback: call_new_function.call(_this)  <-- this throws an error of undefined
   )
  });

})

我的感觉超出了这里的范围: call_new_function 。这是关闭问题吗?

4

1 回答 1

2

我认为您没有为callback. 您正在立即执行您的函数并将其值返回给callback.

您可能想要做的是call_new_function.call(_this);在回调上执行。因此,将其包装在一个匿名函数中,如下所示:

callback: function() {
    call_new_function.call(_this);
}
于 2013-08-05T19:36:27.887 回答