javascript - 使用 apply 方法调用 jQuery document.ready 处理程序?

标签 javascript jquery anonymous-function document-ready

下面是我在具有一些复杂依赖项的项目中使用的代码。在确保所有依赖项都已加载后,我会触发下面给出的 onReadyCallback() 。我有两个问题:

  1. 使用匿名Handler.apply(MyNameSpace)是否正确,为Document.ready调用匿名处理程序上的apply方法
  2. 据我了解,因为我使用的是 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/

相关文章:

javascript - 使用 break on click 停止循环

javascript - 如果另一个 div 包含任何文本、内容或 html,则隐藏 div

JavaScript;通过分配给变量创建的函数?

javascript - 如何捕获我正在使用的 result() 回调函数的返回值?

javascript - Javascript 中的匿名函数

javascript - 如何为字符串和数字列表定义 GraphQLType?

javascript - Datatables JS 通过单列值获取行索引 PHP

javascript - 使用 Ajax 从特定 URL 加载数据

javascript - 如何在AJAX错误方法中检索DbContext SqlException?

jquery - 强制我的页面为 http 而不是 https?