jQuery
在jQuery1.7版本中
bind() unbind() ,live() die(), on() off() ,delegate()
下面我们给li元素添加事件
bind() 旧版写法: 事件不能适用脚本创建的新元素
live() 旧版写法: 适用脚本创建的新元素写法,但性能极不好
on() 新版写法,事件不能适用脚本创建的新元素(接收多个函数绑定)
这三种方法都是基于要给添加事件的元素本身。
$("ul li").bind("click",function(){
alert("不响应事件!");
})
delegate() 新版写法,适用脚本创建的新元素
$(".demonstrate").delegate("ul li","click",function(){
alert("响应事件!");
})
$(ele).on() ele 为匹配元素的父元素. 适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)
$(".parent").on("click","ul li",function(e){
alert("响应"+e.type+"事件!");
});
但在jQuery1.8版本 统一为on()方法绑定事件。不管是原来的还是脚本创建的都可以绑定。
上面每个方法后面使其对应的解除绑定的方法。用法类似。
jq还有一种解除绑定方法
removeAttr('onclick');删除
attr("onclick","WdatePicker()");添加
js方法
attachEvent与addEventListener区别
适应的浏览器版本不同,同时在使用的过程中要注意
attachEvent方法 按钮onclick
addEventListener方法 按钮click
两者使用的原理:可对执行的优先级不一样的事件进行操作:
attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列) 也就说可绑定多个事件并都执行(顺序最后到前)
addEventListener方法 用于 Mozilla系列 绑定多个只执行最后一个
**绑定函数不要加括号
removeEventListener()解除绑定
借鉴文章http://www.phpvar.com/archives/2529.html
http://blog.163.com/wumingli456@126/blog/static/288964142010755811775/