亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2010年01月15日 01:42:34   作者:  
ASP.net MVC 做了個(gè)工程,不知道為什么Search按就總是執(zhí)行兩次。
頁(yè)面大概是這樣的,一個(gè)Partial View,而這個(gè)View包含了一小段綁定Search的Javascript,并且用Jquery-ui 的dialog 包含,而且確定不是ASP.net mvc生成HTML的問(wèn)題,HTML是依照我的想法生成的,后來(lái)實(shí)在沒(méi)有辦法,把dialog的代碼去掉,Search按就正常了。查了一下dialog的代碼,發(fā)現(xiàn) 是appendTo引發(fā)的。
做了實(shí)驗(yàn),代碼如下:
代碼
復(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ù)計(jì) alert('a1') 應(yīng)該執(zhí)行一次的,但是由于使用了appendTo,執(zhí)行了兩次,無(wú)論你在 a1 div里面是否使用$(document).ready,都會(huì)運(yùn)行兩次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;
}
});

相關(guān)文章

最新評(píng)論