绑定事件的方式和特点

使用Element.onclick = function (e){}
优点:
在IE和其他浏览器上均兼容,并且函数内this绑定到当前DOM元素中。
缺点:
在DOM元素上一次只能绑定一个事件处理器,无法实现多Handler绑定。
function中event参数只对非IE浏览器有效(IE有window.event)
只支持Bubbling,不支持Capturing。

使用W3C标准的事件
Element.addEventListener()和removeEventListener()
addEventListener带有三个参数(event,function,boolean)event不含on,boolean表示是否支持Capturing
优点:
可以支持Bubbling和Capturing
可以在一个元素上绑定多个事件处理器
function中的第一个参数,无论是否显示调用,永远都是event对象的引用
缺点:
不支持IE

使用IE事件
window.attachEvent()和detachEvent()
attachEvent的两个参数,分别是event含on,
优点:
在同一个DOM元素能绑定多个事件处理函数
缺点:
只支持Bubbling,不支持Capturing。
函数内部的this无法正确获取,只能得到window object全局对象,如果需要event对象则需要使用window.event方式
仅支持IE浏览器


阻止默认行为:

e.preventDefault()
window.event.returnValue = false;

阻止冒泡事件

e.stopPropagation()
window.event.cancleBubble = true

你可能感兴趣的:(绑定事件的方式和特点)