2010-10-05 67 views
1
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> 
<script type="text/javascript"> 
    alert('works'); 
</script> 
<script type="text/javascript"> 
    $(window).load(function() { 
     alert('does not work'); 
    }); 
    ​ 
</script> 

很奇怪,我不知道为什么它不工作。jQuery不工作 - 奇怪

+0

我在http://www.jsfiddle.net/上运行它,并且工作正常! – jknair 2010-10-05 07:29:37

+1

我在本地使用CDN时遇到了一些问题 – Perpetualcoder 2010-10-05 07:31:14

回答

5

我认为功能应该是.ready()而不是.load()(这发出了一个AJAX请求):

$(window).ready(function() { 

另外,还要确保你理解$(document).ready$(window).ready之间的区别。第一个将在DOM准备就绪时触发,第二个则在DOM和所有图像准备就绪时触发。

+0

[load-event](http://api.jquery.com/load-event/) – Reigel 2010-10-05 07:37:01

+0

@Reigel,你是对的。不知道这个事件是否存在。 – 2010-10-05 07:40:29

0

您正在寻找这样的:

$(function() { 
    alert("does work"); 
}); 
1

应该毕竟图片,CSS工作,脚本被加载。有什么东西加载时间过长?

为你想达到什么
0

两个选项:

  1. $(function() { alert('works'); });

  2. $(document).ready(function() { alert('works'); });

这取决于你使用哪一个。就个人而言,我更喜欢选项1中的简写代码,但第二个选项具有可读性优势。

0

你在做window.load,它在执行之前等待所有东西被加载。不过你应该使用jQuery的DOM ready函数。

jQuery(function(){ 
    //do something 
});