js中的前绑定和后绑定
来源:互联网 发布:js清除history记录 编辑:程序博客网 时间:2024/04/29 08:04
最近,有一些同志经常问起我在开发中事件绑定的问题。其主要意思就是看我有没有用过前绑定,即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的事件源头的是document\delegate的源头是具体要绑定的元素,所以delegate的效率比live高多了 $("#main a").live("click", function () { alert($(this).text()); }); }); </script>
更详细的比较:http://www.cnblogs.com/sniper007/archive/2011/11/18/2254260.html
- js中的前绑定和后绑定
- js 前绑定 后绑定
- js中的晚绑定和极晚绑定
- js和jq中的绑定事件
- JS中的数据绑定和DOM回流
- js中的事件绑定
- js的早绑定和晚绑定
- JAVA中的静态绑定和动态绑定
- java中的动态绑定和静态绑定
- java中的动态绑定和静态绑定
- Java中的静态绑定和动态绑定
- java中的前期绑定和后期绑定
- Java中的静态绑定和动态绑定
- Java中的动态绑定和静态绑定
- Java中的静态绑定和动态绑定
- C++中的静态绑定和动态绑定
- Java中的静态绑定和动态绑定
- Java中的静态绑定和动态绑定
- onload事件-----addLoadEvent函数
- mini2440 LED 测试
- 黑马程序员 关于多态
- vector之resize、fill
- 详细解析SPOOL用法及使用-技术交流
- js中的前绑定和后绑定
- 加法计算器(java)
- 简单工厂模式
- poj 2391
- 黑马程序员---多线程的几个小问题
- Sleep(0)与Sleep(1)的区别
- Eclipse Java注释模板设置详解/版权声明及编码风格的注释
- C语言函数类型提升问题
- 写在开始的话