這是我的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