色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

JQuery 引發(fā)兩次$(document.ready)事件

頁面大概是這樣的,一個Partial View,而這個View包含了一小段綁定Search的Javascript,并且用Jquery-ui 的dialog 包含,而且確定不是ASP.NET mvc生成HTML的問題,HTML是依照我的想法生成的,后來實在沒有辦法,把dialog的代碼去掉,Search按就正常了。查了一下dialog的代碼,發(fā)現(xiàn) 是appendTo引發(fā)的。
做了實驗,代碼如下:
代碼
復(fù)制代碼 代碼如下:
<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>

預(yù)計 alert('a1') 應(yīng)該執(zhí)行一次的,但是由于使用了appendTo,執(zhí)行了兩次,無論你在 a1 div里面是否使用$(document).ready,都會運行兩次Javascript,第一次document 加載完成,第二次是調(diào)用 appendTo.

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

再改成下面這種,就可以成功了。
復(fù)制代碼 代碼如下:
var loaded = false;
$(document).ready(function() {
if (!loaded) {
alert('a1');
loaded = true;
}
});

JavaScript技術(shù)JQuery 引發(fā)兩次$(document.ready)事件,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 东乌珠穆沁旗| 沂南县| 信阳市| 普洱| 大城县| 砀山县| 宾阳县| 吴忠市| 东安县| 岳阳县| 长泰县| 手机| 波密县| 牙克石市| 突泉县| 华池县| 葫芦岛市| 凯里市| 乌兰察布市| 精河县| 平阳县| 苍溪县| 贞丰县| 印江| 东乡| 富裕县| 砚山县| 洪江市| 安阳县| 桦甸市| 会宁县| 玉田县| 阿坝| 广丰县| 朝阳县| 白玉县| 黑河市| 酒泉市| 海林市| 东辽县| 济阳县|