js中的前绑定和后绑定详解
其主要意思就是看我有没有用过前绑定,即Dom树中的某些元素在还没有创建出来时,就指定该类型的元素一出生就应该拥有的某些事件。在实际开发过程中经常会涉及到前绑定和后绑定。顾名思义,前绑定——还未出生即绑定了某些事件,后绑定——出生后才会绑定的某些事件。
下面,通过一个简单的例子进行阐述,以供大家参考,并对各个方法进行比较:
页面元素:
<divid="main">
<ahref="#">aaaaaaaaaaaaaaaaaaaaaa</a><br/>
<ahref="#">bbbbbbbbbbbbbbbbbbbb</a><br/>
<ahref="#">ccccccccccccccccccccccccc</a><br/>
<ahref="#">dddddddddddddddddddd</a><br/>
<ahref="#">eeeeeeeeeeeeeeeeeeeeee</a><br/>
<ahref="#">fffffffffffffffffffffffffffffffff</a><br/>
<ahref="#">gggggggggggggggggggg</a><br/>
<ahref="#">hhhhhhhhhhhhhhhhhhhh</a>
</div>
<inputtype="button"value="创建a标签"id="btnCreate"/>
页面中的js:
<scriptsrc="201102/Scripts/jquery-1.5.js"type="text/javascript"></script>
<scripttype="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/><ahref="#">我是动态创建的</a>").appendTo("#main");}
});
//4.前绑定,动态创建的元素也拥有了点击的事件
//$("#main").delegate("a","click",function(){
//alert($(this).text());
//});
//5.前绑定,live的事件源头的是documentdelegate的源头是具体要绑定的元素,所以delegate的效率比live高多了
$("#maina").live("click",function(){
alert($(this).text());
});
});
</script>
相关文章
- 【说站】js事件委托如何理解
- JS如何定义一个类分别用Es5和Es6来实现
- 在浏览器里引入外部js计算字符串的md5
- js控制文本框只能输入中文、英文、数字与指定特殊符号详解编程语言
- Js获取当前日期时间及其它操作详解编程语言
- js严格验证身份证号详解编程语言
- JS正则表达式从入门到入土(9)—— test方法以及它的那些坑详解编程语言
- Node.js中使用数据库详解编程语言
- Node.js读写文件详解编程语言
- js提交表单错误:document.form.submit() is not a function详解编程语言
- jquery和其他js库起冲突的解决方法详解编程语言
- JS正则表达式使用详解编程语言
- JS遍历属性和方法详解编程语言
- js的数组定义(两种方法)详解编程语言
- js 整数、手机号正则表达式详解编程语言
- vue.js 浏览器中不显示vue devtools详解编程语言
- JS作用域链的详解
- 使用JS操作Oracle数据库探索潜在可能性(js和oracle数据库)
- JavaScript入门教程(1)什么是JS
- 查询绑定数据岛的表格中的文本并修改显示方式的js代码
- js内存泄露的几种情况详细探讨
- js调用css属性写法
- 一个js控制的导航菜单实例代码
- 使用jquery动态加载js文件的方法
- Express.JS使用详解
- JS判断变量是否为空判断是否null
- Node.js中使用Buffer编码、解码二进制数据详解