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用Date对象处理时间实现思路及代码
Jan 31 Javascript
javascript在myeclipse中报错的解决方法
Oct 29 Javascript
JS打字效果的动态菜单代码分享
Aug 21 Javascript
jquery插件autocomplete用法示例
Jul 01 Javascript
Vue方法与事件处理器详解
Dec 01 Javascript
bootstrap table实现单击单元格可编辑功能
Mar 28 Javascript
JavaScript中闭包的详解
Apr 01 Javascript
vue.js select下拉框绑定和取值方法
Mar 03 Javascript
讲解vue-router之什么是动态路由
May 28 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
vue实现计步器功能
Nov 01 Javascript
Vue实现剪切板图片压缩功能
Feb 04 Javascript
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插件 HTMLPurifier HTML解析器
2013/07/01 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
laravel中短信发送验证码的实现方法
2018/04/25 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
EasyUI Combobox设置默认值 获取text的方法
2016/11/28 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
jQuery实现表格隔行换色
2018/09/01 jQuery
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
基于python实现简单日历
2018/07/28 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
numpy.array 操作使用简单总结
2019/11/08 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
为什么需要版本控制
2016/10/28 面试题
资料员岗位职责
2013/11/17 职场文书
2014年精神文明建设工作总结
2014/11/19 职场文书
优秀大学生自荐信
2015/03/26 职场文书
债务纠纷起诉书
2015/05/20 职场文书
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
Javascript webpack动态import
2022/04/19 Javascript
关于Redis的主从复制及哨兵问题
2022/06/16 Redis