如何运行一个没有窗口的函数.onload包装



有没有办法运行下面的函数没有"window.onload"?我正在尝试加载图表而不加载到Body中。

window.onload = function() {
var myPie = new Chart(document.getElementById("mycanvas_pie").getContext("2d")).Pie(pieData1,opts);
}

你不需要窗口。如果你在HTML中的mycanvas_pie之后调用这一行(或加载包含这一行的脚本),请加载。

<canvas id="mycanvas_pie"></canvas>
<script>
    var myPie = new Chart(document.getElementById("mycanvas_pie").getContext("2d")).Pie(pieData1,opts);
</script>

将作品。

因为您的代码试图通过id ("mycanvas_pie")获取DOM元素,所以必须在创建DOM之后执行。否则它将不能工作,因为你不能得到一个不存在的元素。您可以使用自调用函数,该函数将在创建DOM时调用。

(function(){
    var myPie = new Chart(document.getElementById("mycanvas_pie").getContext("2d")).Pie(pieData1,opts);
})();

就像这样执行代码:

$(document).ready(function(){
    // some code
});

最新更新