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 相关文章推荐
javascript EXCEL 操作类代码
Jul 30 Javascript
对字符串进行HTML编码和解码的JavaScript函数
Feb 01 Javascript
全面理解面向对象的 JavaScript(来自ibm)
Nov 10 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
Nov 21 Javascript
详谈js原型继承的一些问题
Sep 06 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
Sep 26 Javascript
3种vue组件的书写形式
Nov 29 Javascript
angularjs中$http异步上传Excel文件方法
Feb 23 Javascript
Angular项目如何升级至Angular6步骤全纪录
Sep 03 Javascript
基于vue.js实现分页查询功能
Dec 29 Javascript
elementUI select组件value值注意事项详解
May 29 Javascript
原生javascript中this几种常见用法总结
Feb 24 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
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
Django密码系统实现过程详解
2019/07/19 Python
py-charm延长试用期限实例
2019/12/22 Python
django 模型字段设置默认值代码
2020/07/15 Python
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
青年志愿者先进事迹
2014/05/06 职场文书
求职信怎么写范文
2014/05/26 职场文书
励志演讲稿200字
2014/08/21 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
写给老师的感谢信
2015/01/20 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL