1

我可以从 jQuery 的 document.ready 中调用 onload 事件吗,如下所示:

$(function() {
onloadfunc(param);
});

对比:

<body onload = "onloadfunc(param);">

以上两个是一样的吗?

如何调用 onloadfunc(param); 在 JQuery 中加载而不是在 DOM 上准备好了吗?

4

2 回答 2

4

不,这个:

$(function() {
});

相当于

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

在 onload 事件之前触发。

您可以onload像这样使用 jQuery 调用:

$(window).load(function(){
});

--

要回答您的问题,您可以执行以下操作:

$(document).ready(function(){
    $(window).load(function(){
        onloadfunc(param);
    });
});

这不是我写过的最好的代码......:D

于 2012-12-03T13:25:04.067 回答
0

$(document).ready() jQuery 事件比 onload 更早触发。load 事件等待所有资产完全加载:

虽然 JavaScript 在页面呈现时提供了用于执行代码的加载事件,但在完全接收到所有资产(例如图像)之前,不会触发此事件。在大多数情况下,只要完全构建了 DOM 层次结构,就可以运行脚本。传递给 .ready() 的处理程序保证在 DOM 准备好后执行,因此这通常是附加所有其他事件处理程序和运行其他 jQuery 代码的最佳位置。当使用依赖 CSS 样式属性值的脚本时,在引用脚本之前引用外部样式表或嵌入样式元素很重要。

于 2012-12-03T13:29:10.917 回答