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 相关文章推荐
jquery解析xml字符串简单示例
Apr 11 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
javascript鼠标右键菜单自定义效果
Dec 08 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
Oct 29 Javascript
js判断iframe中元素是否存在的实现代码
Dec 24 Javascript
详谈JavaScript的闭包及应用
Jan 17 Javascript
jQuery使用动画队列自定义动画操作示例
Jun 16 jQuery
微信小程序实现倒计时补零功能
Jul 09 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
Apr 07 Javascript
vue两组件间值传递 $router.push实现方法
May 15 Javascript
Vue文本模糊匹配功能如何实现
Jul 30 Javascript
vue的hash值原理也是table切换实例代码
Dec 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+oracle 分页类
2006/10/09 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
2017/02/03 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
js类 from qq
2006/11/13 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
Node.js模块加载详解
2014/08/16 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
Python搭建FTP服务器的方法示例
2018/01/19 Python
详解Python中的四种队列
2018/05/21 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
J2EE相关知识面试题
2013/08/26 面试题
2014自主招生自荐信策略
2014/01/27 职场文书
婚前保证书
2014/04/29 职场文书
学校文明单位申报材料
2014/05/06 职场文书
建筑投标担保书
2014/05/20 职场文书
讲党性心得体会
2014/09/03 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers