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


Posted in Javascript onJanuary 15, 2010

页面大概是这样的,一个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; 
} 
});
Javascript 相关文章推荐
extjs 学习笔记(三) 最基本的grid
Oct 15 Javascript
js遍历、动态的添加数据的小例子
Jun 22 Javascript
自动设置iframe大小的jQuery代码
Sep 11 Javascript
js获取checkbox值的方法
Jan 28 Javascript
JavaScript实现文字与图片拖拽效果的方法
Feb 16 Javascript
JavaScript三元运算符的多种使用技巧
Apr 16 Javascript
javascript创建含数字字母的随机字符串方法总结
Aug 01 Javascript
JavaScript对象_动力节点Java学院整理
Jun 23 Javascript
vue下跨域设置的相关介绍
Aug 26 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
Dec 07 Javascript
Angular 向组件传递模板的两种方法
Feb 23 Javascript
vue和webpack安装命令详解
Jun 15 Javascript
用jQuery扩展自写的 UI导航
Jan 13 #Javascript
jQuery的一些特性和用法整理小结
Jan 13 #Javascript
JavaScript关于select的相关操作说明
Jan 13 #Javascript
海量经典的jQuery插件集合
Jan 12 #Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
Jan 12 #Javascript
jquery下操作HTML控件的实现代码
Jan 12 #Javascript
jquery插件 cluetip 关键词注释
Jan 12 #Javascript
You might like
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
php microtime获取浮点的时间戳
2010/02/21 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
jquery插件之easing 动态菜单
2010/08/21 Javascript
js常用代码段整理
2011/11/30 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
python实现五子棋小程序
2019/06/18 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
python list的index()和find()的实现
2020/11/16 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
大学四年职业生涯规划书范文
2014/01/02 职场文书
活动总结怎么写啊
2014/05/07 职场文书
赔偿协议书范本
2014/09/12 职场文书
高考升学宴答谢词
2015/01/20 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
mysql主从复制的实现步骤
2021/10/24 MySQL
sql server 累计求和实现代码
2022/02/28 SQL Server