-1

<form id="form1" runat="server">
<div id="chart1">
</div>
</form>

<script type="text/javascript">

    // Add a script element as a child of the body 

    function downloadJSAtOnload() {

        var element1 = document.createElement("script");
        element1.src = "js/jquery-1.7.2.js";
        document.body.appendChild(element1);
        var element2 = document.createElement("script");
        element2.src = "js/jquery.jqplot.js";
        document.body.appendChild(element2);
        var element3 = document.createElement("script");
        element3.src = "js/jqplot.canvasTextRenderer.js";
        document.body.appendChild(element3);
        var element4 = document.createElement("script");
        element4.src = "js/jqplot.canvasAxisLabelRenderer.js";
        document.body.appendChild(element4);
        var element5 = document.createElement("script");
        element5.src = "js/deferredfunction.js";
        document.body.appendChild(element5);
        //setTimeout("Func1()", 2000);
        //Func1();
        //            $(window).bind("load", function() {
        //                Func1();
        //            });

    }

    function Func1() {



        var plot1 = $.jqplot('chart1', [[3, 7, 9, 1, 4, 6, 8, 2, 5]]);


    }




    // Check for browser support of event handling capability
    function chk_comp() {
        if (window.addEventListener)
            window.addEventListener("load", downloadJSAtOnload, false);
        else if (window.attachEvent) {
            debugger;
            window.attachEvent("onload", downloadJSAtOnload);
        }
        else window.onload = downloadJSAtOnload;
    }

    chk_comp();
</script>

エラーが発生しました。ページの読み込みが完了した後に呼び出される jquery 関数を呼び出したいのですが、必要なすべての .js ファイルが読み込まれた後に関数 "func1()" が自動的にトリガーされますが、それは起こりません。助けてください

4

1 に答える 1

0

他のスクリプトの読み込みを開始する前に、ページが完全に読み込まれるのを待つ必要がある理由がわかりません。すべてのスクリプトを同時にロードする必要があります。ロードすると高速になります。

次に、ブラウザがイベントをサポートしている場合は、func1()をトリガーできます。

条件付き読み込みで頻繁に問題が発生する場合は、それを簡単に実現するために何かを使用することをお勧めします:http: //yepnopejs.com/

于 2012-07-12T06:38:12.067 に答える