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 DOM 学习第九章 选取范围的介绍
Feb 19 Javascript
Js nodeType 属性全面解析
Nov 14 Javascript
jQuery动画效果animate和scrollTop结合使用实例
Apr 02 Javascript
优化Node.js Web应用运行速度的10个技巧
Sep 03 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
Jan 27 Javascript
基于javascript制作微信聊天面板
Aug 09 Javascript
AngularJs 弹出模态框(model)
Apr 07 Javascript
深入理解Promise.all
Aug 08 Javascript
vue props传值失败 输出undefined的解决方法
Sep 11 Javascript
浅谈vue项目打包优化策略
Sep 29 Javascript
关于微信小程序登录的那些事
Jan 08 Javascript
Axios取消重复请求的方法实例详解
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
PHP三元运算的2种写法代码实例
2014/05/12 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
php图像处理类实例
2015/07/28 PHP
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
python编程开发之日期操作实例分析
2015/11/13 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
python输出决策树图形的例子
2019/08/09 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
商务英语本科生的自我评价分享
2013/11/15 职场文书
乐观大学生的自我评价
2014/01/10 职场文书
小学安全教育材料
2014/02/17 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
社区党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
作文评语集锦
2014/12/25 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
十个Python自动化常用操作,即拿即用
2021/05/10 Python