H B*_*amy 14 javascript jquery load document window
最近我看到你可以使用其中任何一个
$('document').ready(function() {
//Do Code
});
Run Code Online (Sandbox Code Playgroud)
要么
$('window').load(function() {
//Do Code
});
Run Code Online (Sandbox Code Playgroud)
对于jQuery.
但是,它们对我来说似乎是一样的!但显然不是.
所以我的问题是:我应该使用哪一个基于动画和异步的网站?而且两者中的哪一个通常更好用?
谢谢.
Ein*_*son 31
$('document').ready
在DOM准备就绪时运行代码,但在页面本身已加载时不运行,也就是说,网站尚未绘制,并且尚未加载像图像这样的内容.
$(window).load
在绘制页面并加载所有内容时运行代码.当您需要获取图像的大小时,这可能会有所帮助.如果图像没有样式或宽度/高度,除非您使用,否则无法获得其大小$(window).load
.
首先,您可能要考虑使用"ready"事件,您可以像这样处理:
$().ready(function() {
...
});
Run Code Online (Sandbox Code Playgroud)
或者,更简洁和惯用:
$(function() {
...
});
Run Code Online (Sandbox Code Playgroud)
的"负载"处理程序确实涉及实际事件,并且可以在几个不同种类的元素进行处理:<img>
和<iframe>
例如.文档或窗口级别的"加载"事件在加载所有页面资源时发生.然而,(在一些浏览器中合成的)"就绪"事件发生在页面DOM准备好但可能在诸如<img>
内容之类的事情之前.
另一种选择是简单地将<script>
标签放在最后<body>
或甚至之后<body>
.这样脚本就可以使用整个DOM,但是您不必担心任何类型的事件处理.