这是我的HTMLjQuery的准备函数被调用两次
<div id="projekt" style="position: relative; width: 90%;height:400px;"/>
$("#projekt").ready(function() {
.. do something with the div
});
问题是准备函数被调用两次。可能是什么原因 ?
这是我的HTMLjQuery的准备函数被调用两次
<div id="projekt" style="position: relative; width: 90%;height:400px;"/>
$("#projekt").ready(function() {
.. do something with the div
});
问题是准备函数被调用两次。可能是什么原因 ?
有a bug which can cause this。尝试更新或绑定到文档而不是div。
+1 - 1.4.3错误是最有可能的原因,因为选择器无关紧要...你可以执行'$(“#IDJFmliiojfasdfll”)。ready()'它会工作:) – 2010-11-05 16:03:52
I尝试更新到1.4.4rc2并且错误依然存在。我正在使用$(document).ready()... – nornagon 2010-11-05 22:39:24
Urgh,发现问题所在:我的就绪函数抛出一个异常......导致准备好的处理程序不注册ready事件已经处理。参见http://bugs.jquery.com/ticket/7273 – nornagon 2010-11-05 23:28:05
调用ready()
的正确方法是document
:
$(document).ready(function() {
...
});
$()。ready(handler)是[equivalent](http://api.jquery.com/ready/)但不推荐。为什么不推荐? – Grastveit 2011-04-08 18:13:52
我有同样的问题。当我将我的JS移动到另一个文件并将其包含在head标记中而不是在我正在处理的div下时,它就消失了。
我看到这种情况发生时,我有一个提醒('...'); .ready回调中的某处。这发生在最近的jQuery 1.5.2。将警报发出让代码只运行一次。
无需在配置以下标记添加应用程序的选项/ application.rb中 config.action_view.javascript_expansions [:默认值] =%(重量)(jquery的应用程序)
它将调用applcation.js的两倍,因此该功能还会在您的应用程序中运行两次。
如果您包含JavaScript文件两次,它将执行两次。 这在萤火虫中没有清楚显示。 script
面板(我去调试javascript问题)将只在下拉菜单中显示一次文件。但是,如果您查看html
或net
面板,您可以查看是否有倍数。
我有这样的事情:
<script src="/scripts/project.js" type="text/javascript"></script>
<script src="/scripts/project.js" type="text/javascript"></script>
(这类似于@chs答案,但没有具体到轨)。
这是我的“准备好”功能发射两次的原因。我曾经在tiles-template“layout”中包含了一次js文件......并且,通过tiles-definition“add-attribute”包含相同的文件。谢谢! – sairn 2015-04-20 21:39:42
我找到了解决这个问题。
您应使用此代码
$(document).bind("ready", MyDocumentReadyHandler)
不是代码的
$(document).ready(...);
你可以阅读更多有关使用此url “准备” 功能。
当使用JQM(jQueryMobile)
时,您会遇到同样的问题,但在我的情况下,问题是重复的data-role="content"
属性。该属性触发处理特定div或元素内的所有内容。在我的情况下,.ready
函数被包装了两次,因此执行了两次。希望能帮助别人。
如果iframe中存在错误的src,如<iframe src="../" ...></iframe>
,函数ready()将执行两次。确保你有一个有效的网址。
例:
<iframe src="../something.html" ... ></iframe>
你能告诉你的HTML?你有很好的机会加入这两次,或者甚至不止一次地引用jQuery? – hunter 2010-11-05 15:39:46
你可能有'id ='projekt''两个元素? – Spudley 2010-11-05 15:42:43
是的,我有jQuery引用两次。但是jQuery只有一个脚本元素。当我删除这个元素时,两个jQuery引用都消失了。奇怪。 – user137348 2010-11-05 15:44:55