document.ready和ExecuteOrDelayScriptLoaded

时间:2012-07-06 18:01:18

标签: javascript jquery dom

我陷入困境 - 我的javascript代码需要在DOM准备好时执行。但是,与此同时,我需要能够连接到另一个脚本的load事件。所以假设我需要这样的东西:

 ExecuteOrDelayUntilScriptLoaded(getData, "sp.js");


 function getData() {


       (document.ready(function() {

            //my code to get data from sharepoint list.  
       }));

 }

只有后者似乎不起作用。

请建议!

3 个答案:

答案 0 :(得分:3)

为什么不这样做?

 $(document).ready(function() {
    ExecuteOrDelayUntilScriptLoaded(function getData(){
        //your code to get data from sharepoint list.  
    }, "sp.js");
 });

答案 1 :(得分:1)

尝试

$(document).ready(function() {
    $.getScript('sp.js', function() {
        //your code to get data from sharepoint list.
    });
});

为了更好地控制脚本加载,请尝试使用简单轻量级的yepnope.js或更复杂的LABjs等脚本加载器。

答案 2 :(得分:0)

如果您使用的是jQuery,MooTools或任何其他库,则可以使用标准函数来检查DOM和您的资产是否已加载。

例如,在jQuery中: http://api.jquery.com/ready/