DOM 事件基础
1、DOM0、DOM2、DOM3 标准
- DOM0
- 直接通过
onclick
写在 html 里面的事件; - 缺点:html 和 js 耦合在一起,修改不方便;
- 直接通过
- DOM2
- 通过
addEventListener
绑定事件; - 通过
removeEvementListener
解绑事件; - IE 下通过
attachEvent
绑定,detachEvent
解绑;
- 通过
- DOM3
- DOM3 是增加了一些新的事件;
2、事件捕获和事件冒泡
DOM2
级的事件规定了事件流包含三个阶段包括:- 事件捕获:事件开始由顶层对象触发,然后逐级向下传播,直到目标元素;
- 处于目标阶段:处在绑定事件的元素上;
- 事件冒泡阶段:事件由具体的元素先接收,然后逐级向上传播,直到不具体的元素;
一般来说事件冒泡机制,用的更多一些,所以在 IE8 以及之前,IE 只支持事件冒泡。IE9/FF/Chrome 这 2 种模型都支持,可以通过
addEventListener((type, listener, useCapture)
的useCapture
参数来设定,useCapture=false(默认)代表着事件冒泡,useCapture=true 代表着采用事件捕获。e.stopPropagation()
阻止冒泡;e.preventDefault()
阻止事件默认行为;
3、事件代理
1 | <div id="div1"> |
1 | var div1 = document.getElementById('div1') |
4、几个不常用的事件
1 | // 禁止显示右键选项 |
参考
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章