在jQuery出现之前,Dean Edwards的AddEvent()优秀设计,不用对象检测,不用addEventListener等,全平台通用等诸多优点,位于:http://dean.edwards.name/weblog/2005/10/add-event/
1.事件保存在element属性中,这样一个事件可以有无数个响应函数
2.handleEvent作为主监听函数,所有事件触发后均调用此函数
3.跨平台兼容,统一采用element["on"+type]的方式绑定事件
4.每一个响应事件均有唯一的$$guid作为标识,使得某一特定函数在任意响应事件中标志数是固定的,不过这样有什么好处呢?可能是维护方便吧,便于管理事件集合
在jQuery出现之后,其事件处理方式和之前的类似,但是有不同,使用如下 $(document).on("click",'#element',handler)
1.事件不保存在节点上,使用自带的缓存系统
2.事件委托
3.增加自定义功能,比如可以触发自定义事件
jQuery绑定事件方式多样,为了支持多个事件处理程序的绑定,不建议采用element.click=function(){}的方式~,有方式如下
1.jQuery.fn.eventType:无事件委托,与原生js想死
2.jQuery.fn.bind/unbind:后台依旧调用on/off函数,无事件委托
3.jQuery.fn.delegate:$(document).delegate(selector),将selector的事件委托到jq匹配元素,在此处直接将事件委托到document
4.jQuery.fn.one:绑定一次性事件,触发后解绑
5.jQuery.fn.trigger:触发事件,可用于模拟事件,比如模拟点击、双击、移动等
6.jQuery.fn.on:使用内部缓存节点保存事件信息,设置绑定事件的详细信息
后来就看不懂了...等以后再来看一遍吧~有一个事件队列~
7.jQuery.fn.off
8.jQuery.event.remove
参考:http://www.cnblogs.com/chuaWeb/p/jQuery-1-9-1-addEvents-1.html
http://www.cnblogs.com/chuaWeb/p/jQuery-1-9-1-addEvents-2.html
http://www.cnblogs.com/chuaWeb/p/jQuery-1-9-1-addEvents-3.html