【问题标题】:jQuery "$(document).ready(function () {" equivalent in Javascript [duplicate]jQuery“$(document).ready(function(){”在Javascript中等效[重复]
【发布时间】:2012-08-06 15:40:49
【问题描述】:

可能重复:
$(document).ready equivalent without jQuery

我想等到正确调整 ASP.NET datagrid 的大小后再显示弹出消息。这很好用:

$(document).ready(function () { showpopup(); });

但我需要在没有 jQuery 的情况下实现它。我尝试了很多方法:

$(window).bind("load", function() {showpopup();}

$(function() { showPopup();}

但这不起作用。

【问题讨论】:

标签: javascript jquery html dom


【解决方案1】:

我首选的执行此类操作的方法是使用以下代码开始我的脚本:

var loadScripts = [],
    loadScript = function(callback) {loadScripts.push(callback);

那么,</body> 之前页面上的最后一件事是:

<script type="text/javascript">(function() {var x; while(x=loadScripts.shift()) x();})();</script>

然后,每当我想要推迟到 DOM 加载之前,我只需将其包含在:

loadScript(function() {
    // do stuff here
});

【讨论】: