html 事件的添加和删除

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/

你可能感兴趣的:(html 事件的添加和删除)