原谅我的无知,因为我不熟悉jquery。有相当于
dojo.hitch()吗?它返回一个保证在给定范围内执行的函数。
– 编辑 –
根据要求,这里是一个例子。我非常频繁地使用挂钩,以确保回调在正确的对象内执行。例如,假设我有一个名为doSomethingAsync的实用程序方法,并传递一个回调函数。使用hitch,我可以确保该函数在特定范围内执行,即使实用程序方法执行ajax调用等等:
expectedScopeObj = { flag: true,callback: function(){console.debug(this.flag);},main: function() { // without hitch the callback function would not find flag core.util.doSomethingAsync(dojo.hitch(this,this.callback)); } }
没有钩子,回调函数可能会在不同的范围内执行,并且这个错误将被抛出,this.flag是未定义的。但是,随着它的使用,它保证在execptedScopeObj中执行。
解决方法
我知道这已经回答了,但不正确。
jQuery.proxy
是你正在寻找我相信。