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/jquery判断浏览器类型的方法小结
May 12 Javascript
javascript绘制漂亮的心型线效果完整实例
Feb 02 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
May 31 Javascript
JavaScript 闭包机制详解及实例代码
Oct 10 Javascript
jq给页面添加覆盖层遮罩的实例
Feb 16 Javascript
javascript中的面向对象
Mar 30 Javascript
解决vue-cli中stylus无法使用的问题方法
Jun 19 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
Jul 10 Javascript
Node.js实现发送邮件功能
Nov 06 Javascript
对vue 键盘回车事件的实例讲解
Aug 25 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
Jun 15 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
Sep 17 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 token使用与验证示例【测试可用】
2017/08/30 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
使用nodejs、Python写的一个简易HTTP静态文件服务器
2014/07/18 NodeJs
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
深入理解Node内建模块和对象
2019/03/12 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
2019/09/12 Javascript
python列表与元组详解实例
2013/11/01 Python
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
pandas数据处理基础之筛选指定行或者指定列的数据
2018/05/03 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
python实现车牌识别的示例代码
2019/08/05 Python
Python程序暂停的正常处理方法
2019/11/07 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
上海世博会志愿者口号
2014/06/17 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
办公室主任岗位职责
2015/01/31 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL