JQuery 引发两次$(document.ready)事件

侯奋斗着

侯奋斗着

2016-02-19 14:20

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的JQuery 引发两次$(document.ready)事件教程,一起来看看吧!超容易上手~
页面大概是这样的,一个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;
}
});
展开更多 50%)
分享

猜你喜欢

JQuery 引发两次$(document.ready)事件

Web开发
JQuery 引发两次$(document.ready)事件

jquery $(document).ready() 与window.onload的区别

Web开发
jquery $(document).ready() 与window.onload的区别

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

jquery中的$(document).ready()与window.onload的区别

Web开发
jquery中的$(document).ready()与window.onload的区别

每天大便两次

生活常识
每天大便两次

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

烧开两次的水能喝吗 水能不能烧开两次

生活小常识 健康饮食
烧开两次的水能喝吗 水能不能烧开两次

难产 生一次痛两次

分娩
难产 生一次痛两次

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何在一个页面做两种超链接的CSS样式

如何在一个页面做两种超链接的CSS样式

VB查找并替换WORD文档中的字符串

VB查找并替换WORD文档中的字符串
下拉加载更多内容 ↓