JS原生绑定事件主要分为三种:
一是html事件处理程序
二是DOM0级事件处理程序
三是DOM2级事件处理程序
其中:html事件现在已经基本用不到了,就是在Html标签上直接添加事件,类似于css的行内样式,缺点是不好维护,因为散落在标签中,也就是耦合度太高
例如:<button onclick="事件处理函数">点我</button>
第二类是DOM0级事件,目前在PC端用的还是比较多的绑定事件方式,兼容性也好,主要是先获取dom元素,然后直接给dom元素添加事件
例如:
var btn=document.getElementById('id元素')
btn.click=function(){
//要处理的事件逻辑
}
DOM0事件如何移除?
btn.click=null
;设为空就行
优点:兼容性好
缺点:只支持冒泡,不支持捕获。
第三类是DOM2级事件,移动端用的比较多,也有很多优点,提供了专门的绑定和移除方法
例如:
var btn=document.getElementById('id元素')
//绑定事件
btn.addEventListener('click',绑定的事件处理函数名,false)
//移除事件
btn.removeEventListener('click',要移除的事件处理函数名,false)
优点:支持给元素绑定多个相同事件,支持冒泡和捕获事件。