dom
- dom0
element.onclick = function() {}
- dom2
element.addEventListener('click', function(){}, false)
- dom3
事件类型添加了很多
element.addEventListener('keyup', function(){}, false)
制定dom1标准的时候没有定义事件
dom事件类
事件流 -> 目标阶段 (捕获)
目标阶段 -> 事件流 (冒泡)
- 捕获的具体流程
window -> document -> html -> body -> element
怎么通过js获取html元素?
document.documentElement
- 冒泡的流程
element -> body -> html -> document -> window
event 对象
event.preventDefault() 阻止默认事件
event.stopPropagation() 阻止事件冒泡
event.stopImmediatePropagation()
一个按钮,绑定了两个click事件
第一个响应函数是a,第二个响应函数是b
那么当a执行完了之后不想执行b,就需要这个函数
event.currentTarget 当前所绑定事件的元素
event.target 当前被点击的元素
自定义事件
Event
var evt = new Event('custom')
dom.addEventListener('custom', function() {
console.log('custom')
}
dom.dispatchEvent(eve)
CustomEvent 与Event比较,它能为这个事件加上一些数据。
文章评论