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 相关文章推荐
基于MooTools的很有创意的滚动条时钟动画
Nov 14 Javascript
JS函数实现动态添加CSS样式表文件
Dec 15 Javascript
js中switch case循环实例代码
Dec 30 Javascript
jquery实现的一个简单进度条效果实例
May 12 Javascript
gridview生成时如何去掉style属性中的border-collapse
Sep 30 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
Jun 14 Javascript
Redux实现组合计数器的示例代码
Jul 04 Javascript
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
解决layui调用自定义方法提示未定义的问题
Sep 14 Javascript
微信小程序用户拒绝授权的处理方法详解
Sep 20 Javascript
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
用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使之能同时支持GIF和JPEG
2006/10/09 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
计算php页面运行时间的函数介绍
2013/07/01 PHP
php获取参数的几种方法总结
2014/02/18 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
python实现遍历文件夹修改文件后缀
2018/08/28 Python
python 决策树算法的实现
2020/10/09 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
优秀幼教自荐信
2014/02/03 职场文书
《童年的发现》教学反思
2014/02/14 职场文书
学生党员检讨书范文
2014/12/27 职场文书
党员评议自我评价
2015/03/03 职场文书
活动费用申请报告
2015/05/15 职场文书
实习报告范文
2019/07/30 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis