我知道Document.ready - DONt 等待图片下载。
那么为什么呢?
http://jsbin.com/ehuke4/27/edit#source
(每次测试后 - 更改 v = xxx in img SRC )
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
alert('0');
});
</script>
</head>
<body >
<img src='http://musically.com/blog/wp-content/uploads/2011/04/Google-Logo.jpg?v=42333' />
</body>
</html>
答案 0 :(得分:1)
答案 1 :(得分:0)
这与你使用“alert()”的事实有关,我想,尽管我不是百分之百确定原因。如果你改变你的代码:
<body>
<div id='x'></div>
<img ...>
</body>
<script>
$(function() { $('#x').text("hello there"); });
</script>
你会看到在加载图片之前填写了文字。
编辑 - 我不知道为什么这会有所作为,但当我设置就绪处理程序时,我注意到完全不同的行为:
$(function() { whatever; });
和
$(document).ready(function() { whatever; });
现在不应该是这样的;据我所知,这两种形式应该完全相同。但是,他们似乎并没有。 Here是一个jsbin示例,它使用第一个表单设置ready处理程序,而here是使用第二个表单的Here。他们对我的表现非常不同。我将不得不检查jQuery源代码来弄清楚它是如何成真的。
{{3}}是解释$(handler)
和$(document).ready(handler)
等效性的jQuery文档。