html 事件的添加和删除

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/

相关文章
相关标签/搜索