我有一个对象,它的方法很少,我想将其中一个绑定为事件处理程序,但它使用来自同一对象的其他方法。在回调函数中保留上下文的最佳做法是什么?正如我从 jQuery UI 核心看到的,为此目的常用的方法 $.proxy,说实话我不喜欢这种方法,不是很清楚。
你有什么建议吗?提前致谢!
var obj = {
someMethod: function(){...},
callback : function(){
...
this.someMethod(); // or this.someMethod.call(...)
...
},
};
// wrong
$.bind(elm, obj.callback);
// using $.proxy
$.bind(elm, $.proxy(obj.callback, obj));