js中的前绑定和后绑定详解


Posted in Javascript onAugust 01, 2013

 其主要意思就是看我有没有用过前绑定,即Dom树中的某些元素在还没有创建出来时,就指定该类型的元素一出生就应该拥有的某些事件。在实际开发过程中经常会涉及到前绑定和后绑定。顾名思义,前绑定——还未出生即绑定了某些事件,后绑定——出生后才会绑定的某些事件。
下面,通过一个简单的例子进行阐述,以供大家参考,并对各个方法进行比较:
页面元素:

<div id="main"> 
<a href="#">aaaaaaaaaaaaaaaaaaaaaa</a><br /> 
<a href="#">bbbbbbbbbbbbbbbbbbbb</a><br /> 
<a href="#">ccccccccccccccccccccccccc</a><br /> 
<a href="#">dddddddddddddddddddd</a><br /> 
<a href="#">eeeeeeeeeeeeeeeeeeeeee</a><br /> 
<a href="#">fffffffffffffffffffffffffffffffff</a><br /> 
<a href="#">gggggggggggggggggggg</a><br /> 
<a href="#">hhhhhhhhhhhhhhhhhhhh</a> 
</div> 
<input type="button" value="创建a标签" id="btnCreate" />

页面中的js:
<script src="201102/Scripts/jquery-1.5.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function () { 
//后绑定,即动态创建的元素不能拥有绑定的事件!!! 
//1.后绑定 
// $("#main > a ").click(function () { 
// alert($(this).html()); 
// }); 
//2.后绑定 
// $("#main > a").bind("click", function () { 
// alert($(this).text()); 
// }); 
//3.后绑定, 
// $("#main > a").bind({ 
// click: function () { alert($(this).text()); }, 
// mouseover: function () { $(this).css("background-color", "red") }, 
// mouseout: function () { $(this).css("background-color", "white") } 
// }); 
$("#btnCreate").bind({ 
click: function () { $("<br /><a href='#'>我是动态创建的</a>").appendTo("#main"); } 
}); 

//4.前绑定,动态创建的元素也拥有了点击的事件 
// $("#main").delegate("a", "click", function () { 
// alert($(this).text()); 
// }); 
//5.前绑定,live的事件源头的是documentdelegate的源头是具体要绑定的元素,所以delegate的效率比live高多了 
$("#main a").live("click", function () { 
alert($(this).text()); 
}); 
}); 
</script>
Javascript 相关文章推荐
鼠标移动到一张图片时变为另一张图片
Dec 05 Javascript
jQuery实现鼠标选文字发新浪微博的方法
Apr 02 Javascript
JQuery异步加载PartialView的方法
Jun 07 Javascript
JavaScript简单获取系统当前时间完整示例
Aug 02 Javascript
干货!教大家如何选择Vue和React
Mar 13 Javascript
移动端利用H5实现压缩图片上传功能
Mar 29 Javascript
jQuery实现QQ空间汉字转拼音功能示例
Jul 10 jQuery
Vue2.0如何发布项目实战
Jul 27 Javascript
vue-cli实现多页面多路由的示例代码
Jan 30 Javascript
JavaScript执行环境及作用域链实例分析
Aug 01 Javascript
Ant Design moment对象和字符串之间的相互转化教程
Oct 27 Javascript
vue项目打包后路由错误的解决方法
Apr 13 Vue.js
jQuery表单获取和失去焦点输入框提示效果的实例代码
Aug 01 #Javascript
jquery实现带复选框的表格行选中删除时高亮显示
Aug 01 #Javascript
JQuery的自定义事件代码,触发,绑定简单实例
Aug 01 #Javascript
jquery实现带单选按钮的表格行选中时高亮显示
Aug 01 #Javascript
JavaScript定时器详解及实例
Aug 01 #Javascript
js渐变显示渐变消失示例代码
Aug 01 #Javascript
jQuery点击弹出下拉菜单的小例子
Aug 01 #Javascript
You might like
php Smarty初体验二 获取配置信息
2011/08/08 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
php内嵌函数用法实例
2015/03/20 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
axios学习教程全攻略
2017/03/26 Javascript
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
浅谈Python traceback的优雅处理
2018/08/31 Python
python三引号输出方法
2019/02/27 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
使用豆瓣源来安装python中的第三方库方法
2021/01/26 Python
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
物流专业大学生求职信范文
2013/10/28 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫