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(){...})