jQueryphp
在jQuery1.7版本中html
bind() unbind() ,live() die(), on() off() ,delegate()浏览器
下面咱们给li元素添加事件函数
bind() 旧版写法: 事件不能适用脚本建立的新元素性能
live() 旧版写法: 适用脚本建立的新元素写法,但性能极很差spa
on() 新版写法,事件不能适用脚本建立的新元素(接收多个函数绑定)code
这三种方法都是基于要给添加事件的元素自己。htm
$("ul li").bind("click",function(){ alert("不响应事件!"); })
delegate() 新版写法,适用脚本建立的新元素blog
$(".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/