jquery 有等价的 dojo.hitch() 吗?

2024-01-05

原谅我的无知,因为我对 jquery 不太熟悉。有没有相当于道场.hitch() http://dojotoolkit.org/reference-guide/1.7/dojo/hitch.html?它返回一个保证在给定范围内执行的函数。

- 编辑 - 根据要求,这是一个示例。我经常使用 hitch 来确保回调在正确的对象中执行。例如,假设我有一个名为的实用方法doSomethingAsync我向它传递了一个回调函数。通过故障,我可以确保该函数在特定范围内执行,即使实用程序方法执行 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 http://api.jquery.com/jQuery.proxy我相信这就是您正在寻找的。

UPDATE

很多很多年后,经过大量 JavaScript 工作,并且由于浏览器兼容性已不再是问题而放弃了 jQuery 的使用后,我建议使用Function.prototype.bind https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind over jQuery.proxy http://api.jquery.com/jQuery.proxy, as @bobince 建议 https://stackoverflow.com/a/2035427/633513。虽然这仍然是原始问题的正确答案,但我觉得有义务引导人们使用普通的解决方案,而不是依赖 jQuery。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jquery 有等价的 dojo.hitch() 吗? 的相关文章

随机推荐