Javascript jQuery等价于body onLoad

Javascript jQuery等价于body onLoad,javascript,jquery,Javascript,Jquery,是否允许将与jQuery的document.ready()处理程序一起使用? 我找不到用jQuery实现相同功能的方法 用例的一个例子是facebook应用程序。Iframe facebook应用程序需要使用调整Iframe大小的FB.Canvas.setSize功能 只有当页面上的所有元素都加载完毕时,我才需要启动它。$(窗口)。加载(myfunc)就是您要找的。如果正在处理iframe的加载事件,则可以使用iframe元素/选择器替换窗口。尝试load(): 从处理程序上的jQuery AP

是否允许将
与jQuery的
document.ready()处理程序一起使用?
我找不到用jQuery实现
相同功能的方法

用例的一个例子是facebook应用程序。Iframe facebook应用程序需要使用调整Iframe大小的
FB.Canvas.setSize
功能

只有当页面上的所有元素都加载完毕时,我才需要启动它。

$(窗口)。加载(myfunc)
就是您要找的。如果正在处理iframe的加载事件,则可以使用iframe元素/选择器替换
窗口。

尝试
load()


从处理程序上的jQuery API:

.ready()方法通常是 不符合 属性如果必须使用负载, 不要使用.ready()或使用 jQuery的.load()方法来附加负载 将事件处理程序添加到窗口或 更具体的项目,如图像

这同样有效:

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

发现此线程正在更新某些包含
的旧代码,以便提供更新的答案:

不要使用
load()
。While
$(document).ready(function(){…})应该可以工作(取决于您的用例):您实际想要的:
$(窗口).on('load',function(){…})以更接近地模仿

建议自jQuery 1.8(以及
.unload()
.error()
)以来,此选项已被弃用,应替换为正确的
.on()
实现。我已经确认在3.3.1上使用
load()
会导致一个错误,即:
indexOf不是jquery.min.js中的函数

自jQuery 1.8以来,已弃用了
.load()、
.unload()
.error()
。 在代码中查找这些别名,并替换为.on()方法

$(window).on('load', function(){...})

我认为您不希望将
myfunc
的返回值传递给
load
事件;)请参阅我对Kevin回答的最后一条评论如果我以后动态创建iFrame,似乎无法使用.live()和load。。有什么解决方案吗?在创建iframe之后(例如,
var iframe=document.createElement('iframe');
),您可以使用
$(iframe).load(myfunc)向它传递一个加载事件回调。我建议在将其附加到DOM和/或设置其
src
属性之前执行此操作。我尝试同时使用$(window).load(FB.Canvas.setSize())和jQuery(document.loadFB.Canvas.setSize())。但是,它们都没有调整窗口的大小,而不是使用执行此任务的窗口。看起来他们的行为不同,这两种方法都有效。您需要如下内容:
$(iframe.load(function(){FB.Canvas.setSize();})如果这仍然不起作用,请编辑原始问题并提供更多代码/上下文。明白。在创建iframe之前,可以将加载事件回调附加到窗口:
$(window.load(function(){FB.Canvas.setSize();});//然后创建iframe
这如何改进已接受的答案?这样做的详细方法要少得多……我认为,
$(窗口)。on('load',function(){…})
$(窗口)。load(function(){…})
是一样的。它们不是吗?它们的功能类似,但是load()&on()确实是两个不同且唯一的函数。我只是提醒大家,我发现一些资料表明“加载”/“卸载”正在逐步淘汰,取而代之的是更灵活的“打开”功能;读者在查看他们的代码(以及由此产生的错误)时应该意识到这一差异。
$(window).on('load', function(){...})