DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> JQuery 引發兩次$(document.ready)事件
JQuery 引發兩次$(document.ready)事件
編輯:JQuery特效代碼     
頁面大概是這樣的,一個Partial View,而這個View包含了一小段綁定Search的Javascript,並且用Jquery-ui 的dialog 包含,而且確定不是ASP.net mvc生成HTML的問題,HTML是依照我的想法生成的,後來實在沒有辦法,把dialog的代碼去掉,Search按就正常了。查了一下dialog的代碼,發現 是appendTo引發的。
做了實驗,代碼如下:
代碼
代碼如下:
<script type="text/javascript">
$(document).ready(function() {
$("#a1").appendTo($("#a2"));
});
</script>

<div id="a1">
<script type="text/javascript">
alert('a1');
</script>
</div>

<div id="a2">
</div>

預計 alert('a1') 應該執行一次的,但是由於使用了appendTo,執行了兩次,無論你在 a1 div裡面是否使用$(document).ready,都會運行兩次javascript,第一次document 加載完成,第二次是調用 appendTo.

首先改為下面這種方式,失敗。
代碼
代碼如下:
<div id="a1">
<script type="text/javascript">
loaded = false;
if (loaded == false) {
alert('a1');
loaded = true;
}
</script>
</div>

再改成下面這種,就可以成功了。
代碼如下:
var loaded = false;
$(document).ready(function() {
if (!loaded) {
alert('a1');
loaded = true;
}
});
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved