2012-04-23 55 views
2

我想加载一些jquery javascript时,我的网页加载,但它总是加载两次。我使用的是jquery 1.7.2和jquery mobile 1.1.0。我尝试了这3种不同的方法,但它总是加载脚本两次。jQuery的移动加载脚本两次

$(document).bind("ready", function() { } 
$(document).ready(function() { } 
$(document).live('pageinit',function(event) { } 

编辑:我解决了它,狗屎!我100%肯定这个错误会发生在别人身上,我为这个愚蠢的问题感到抱歉。

+0

cam u plz粘贴完整的代码..对于这些东西一般$(document).ready(function(){});是enuf – 2012-04-23 13:27:44

+0

我试过了,即使女巫只有一个alert()函数内,没有更多的代码。 – AdrianoCelentano 2012-04-23 13:50:31

+0

我有同样的问题。你能告诉你的解决方案吗? – kspacja 2013-10-04 08:25:17

回答

2

更新:我用jQuery 1.7.2和jQuery Mobile 1.1.0在本地尝试了它,它工作正常。我看到有一个1致电pageinit事件。我甚至尝试了多页,仍然只看到一个电话pageinit

您通常不希望在jQuery Mobile中使用ready事件,而只能使用pageinit事件。按照jQuery mobile events documentation ...

在初始化发生后,被初始化的页面上触发。 我们建议绑定到此事件而不是DOM ready(),因为此 将起作用,无论该页面是直接加载还是作为Ajax导航 系统的一部分被拉入另一个页面。

对于一个更具体的答案,你真的需要发布实际的代码;然而,在你的问题中混合了readypageinit,我猜pageinitready都调用了相同的代码。

2

jQuery 1.7.2目前还没有完全用jQuery Mobile 1.1.0进行测试。你可能想要使用jQuery 1.7.1。

支持的jQuery 1.7.1

jQuery Mobile的1.1.0现在支持1.6.4和1.7.1版本的jQuery 核心。我们建议您使用1.7.1来利用所有 最新版本中的重大改进。如果你坚持1.0.1 一段时间,记住只支持1.6.4。我们仍然在测试 1.7.2,并将在未来的版本中正式支持。

+0

我也尝试了一些不同的版本,但仍然是相同的问题 – AdrianoCelentano 2012-04-23 13:48:22

+0

您的答案在上面 - 您需要选择一种方法进行页面初始化。我们需要看到更多的代码,看看还有什么可能造成这种情况。 – 2012-04-23 13:52:15

7

我与上面描述的jqueryMobile有同样的问题。也就是说,放在主体中的所有脚本都会加载两次。如果放入,他们只会按预期加载一次。

我解决身体问题上的双重负载通过改变根(身体开始后第一个div),以包括“页”的数据角色:

<body> 
<div data-role="page"> 

瞧,没有更多的双载!

这是新HTML5BoilerPlate用户的常见问题。在jQueryMobile 1.3.0

+0

这个重大修复工作。我讨厌jQueryMobile。 – jaminto 2013-05-21 19:11:51

+0

@bryan我有相同的结构仍然列表视图加载两次在我的网站:( – Vikram 2014-09-01 06:26:13

+0

谢谢。这对我有效。 – 2015-05-14 20:40:59

0

我的剧本都拿到所谓的两次, 我只是用jQuery的1.9解决了该问题。1而不是jquery-1.7.2。
您也可以使用jQuery的迁移插件
即<脚本SRC = “http://code.jquery.com/jquery-migrate-1.1.0.min.js”> </SCRIPT>
为了向后与以前版本的jQuery兼容。