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 相关文章推荐
[原创]保存的js无法执行的解决办法
Feb 25 Javascript
生成二维码方法汇总
Dec 26 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
May 03 Javascript
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 Javascript
省市区三级联动jquery实现代码
Apr 15 Javascript
jQuery扩展_动力节点Java学院整理
Jul 05 jQuery
详解React Native开源时间日期选择器组件(react-native-datetime)
Sep 13 Javascript
详解从react转职到vue开发的项目准备
Jan 14 Javascript
vue中的mescroll搜索运用及各种填坑处理
Oct 30 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
Aug 31 Javascript
H5 js点击按钮复制文本到粘贴板
Nov 19 Javascript
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
Apr 30 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使用eAccelerator的API开发详解
2013/06/09 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
浅谈php和js中json的编码和解码
2016/10/24 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
简明 Python 基础学习教程
2007/02/08 Python
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
使用python实现简单五子棋游戏
2019/06/18 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
用python批量下载apk
2020/12/29 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
办公室前台岗位职责
2014/01/04 职场文书
家庭教育的心得体会
2014/09/01 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
初中班干部工作总结
2015/08/10 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
python实现简单的名片管理系统
2021/04/26 Python
MySQL中日期型单行函数代码详解
2021/06/21 MySQL
Spring整合Mybatis的全过程
2021/06/28 Java/Android