2010-10-20 146 views
10

使用Google托管代码中的jQuery 1.4.2。

当文档准备就绪后,下面的JavaScript不会激发所有3个document.ready函数吗?

$(document).ready()功能,这使得头,第二,它给出了一个“富”警告框触发,但随后的那些在新<script>块不会被触发,

<script type="text/javascript"> 
    $(document).ready(function() { 
     Cufon.replace('h1'); // Works without a selector engine 
     Cufon.replace('h2'); // Works without a selector engine 
     Cufon.replace('h3'); // Works without a selector engine 
     Cufon.now(); 
    }); 
    $(document).ready(function() { alert("Number Foo"); }); 
</script> 

// html tags 

<script type="text/javascript"> 
    $(document).ready(function() { alert("Number One"); }); 
    $(document).ready(function() { alert("Number Two"); }); 
</script> 

这些都是在单独的Web部件,在Sharepoint2010在同一页上托管

+4

我会有点担心在另一个文档准备好功能中定义一个文档就绪功能。 – Phil 2010-10-20 04:08:07

+1

对不起,是一个错字。发布更新。 – Darbio 2010-10-20 04:09:42

+3

最后一个$(document).ready函数没有正确结束。 '});'丢失 – 2010-10-20 04:13:19

回答

22

我能想到的三个法医东西试试,马上:

  1. 尝试与非谷歌托管 库。
  2. 评论出Cufon 来电 - 我相信Cufon会做一些 疯狂的东西来下载额外的 资源,是吗?这可能是 干扰。
  3. $(window).load()一个或多个 您的$(document).ready() 回调defs。他们有不同的 射击标准 - $(window).load()等待 一切加载,据称 - 但替换可能是 显示。

当然,console.log()alert()将是您-LEU-的调试器断点在这种情况下,最好的朋友。

+1

Cufon是罪魁祸首......被删除! – Darbio 2010-11-02 00:41:37

+4

$(window).load()提示帮助了我! – YeahStu 2011-01-19 19:50:58

+1

如果$(window).load()可用,但$(document).ready()不可用,那是什么意思? – CharlieMezak 2011-05-16 19:18:52

1

你缺少一个右括号和括号中的第二个脚本标签

+0

不,这不是问题。 – Darbio 2010-10-20 04:22:48

+0

您是否在开始时错误地键入了您的代码,或者在答案后更正了它? – 2010-10-20 04:26:18

+0

我在问题的评论中第一次回答之前就改变了它。 – Darbio 2010-10-20 04:28:47

1

你在最后$结束缺少});(解决的文ENT)。就绪

一旦你解决这个它应该工作

编辑: 既然你现在说,每个脚本标签是在一个单独的网络的一部分,我相信这个问题本身是不是在脚本。您网页中的其他内容正在搞乱您的代码。

+0

这不是问题,因为我修复了源代码,但仍然无法正常工作。 – Darbio 2010-10-20 04:26:09