jQuery ready函数被调用两次

这是我的HTML

$("#projekt").ready(function() { .. do something with the div });

问题是ready函数被调用两次。 可能是什么原因 ?

有一个错误可以导致这个 。 尝试更新或绑定到文档而不是div。

如果您将javascript文件包含两次,则会执行两次。 这并没有在萤火虫中清楚地显示出来script面板(我去调试javascript问题)只会在下拉列表中显示一次文件。 但是如果你查看htmlnet面板,你可以看到是否有倍数。

我有类似的东西:

   

(这类似于@chs的答案,但不是特定于rails。)

我找到了解决这个问题的方法。

您应该使用此代码

 $(document).bind("ready", MyDocumentReadyHandler) 

而不是代码

 $(document).ready(...); 

您可以使用此URL阅读有关“就绪”function的更多信息。

当我有警报时,我已经看到了这种情况(’…’); 在.ready回调中的某个地方。 这最近发生在jQuery 1.5.2上。 取消警报使代码只运行一次。

无需在config / application.rb中的以下标记添加应用程序选项config.action_view.javascript_expansions [:defaults] =%w(jquery应用程序)

它将调用applcation.js两次,因此这些函数也会在您的应用程序中运行两次

调用ready()的正确方法是document

 $(document).ready(function() { ... }); 

我遇到过同样的问题。 当我将我的JS移动到另一个文件并将其包含在head标签中而不是在我正在处理的div之下时,它就消失了。

使用JQM(jQueryMobile)时会遇到同样的问题,但我的问题是有重复的data-role="content"属性。 该属性触发使用该属性处理特定div或元素内的所有内容。 在我的情况下, .ready函数被包装两次,因此执行了两次。 希望能帮助别人。

如果iframe中有错误的src,如 ,则函数ready()将执行两次。 确保您拥有有效的url。

例: