下面是我在具有一些复杂依赖项的项目中使用的代码。在确保所有依赖项都已加载后,我会触发下面给出的 onReadyCallback() 。我有两个问题:
- 使用匿名Handler.apply(MyNameSpace)是否正确,为Document.ready调用匿名处理程序上的apply方法
据我了解,因为我使用的是 apply 方法,所以无论文档的就绪状态如何,匿名函数都会立即触发。那么如何将 MyNameSpace 的上下文传递给 anonymousHandler ,以便函数内的“this”引用 MyNameSpace
var onReadyCallback = function(){ jQuery(document).ready(function(){ if(!this.loggedIn()){ return; } ...Lots of Code referring to MyNameSpace using "this" }.apply(MyNameSpace)); }; //load the additional files that are needed and fire onReadyCallback MyNameSpace.Util.loadFiles(defaultJsFiles,function(){ MyNameSpace.Util.require(['My.App','My.Theme','My.DomHandler'], function(){ onReadyCallback.apply(window); }); });
最佳答案
怎么样,使用匿名函数和 call
?
jQuery(document).ready(function() {
(function() {
// this == MyNamespace
}).call(MyNamespace);
});
关于javascript - 使用 apply 方法调用 jQuery document.ready 处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6282071/