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/