基本概念:
Dom事件模型:冒泡,捕获
Dom事件流
描述Dom事件捕获的具体流程
Event对象的常见应用
自定义事件
事件级别:
DOM0
element.onclick=function(){}DOM1
没有制定与实践相关的事件 DOM2
element.addElementListener('click',function(){},false)false/ture决定的是冒泡事件还是捕获事件
DOM3
element.addElementListener('keyup',function(){},false)DOM3事件类型多了好多,如:鼠标事件,键盘事件
事件模型:
捕获(上往下)、冒泡(下往上)
事件流:
捕获→目标阶段→冒泡
DOM事件捕获的具体流程:
window→document→html→body→.....→目标元素
DOM事件冒泡的具体流程:
目标元素→.....→body→html→document→window
Event对象的常见应用:
event.PreventDefault() 阻止默认事件行为event.stopPropagation() 阻止冒泡事件行为event.stopImmediatePropagation() 事件优先级事件
eg:一个按钮绑定了两个事件,当只想执行其中一个事件时,在执行的事件使用,则可以阻止另一个事件触发event.currentTarget
event.target
父级中多个子元素都需要绑定事件时,父级中绑定event.currentTarget,子元素中绑定event.target
(表示被触发的事件)自定义事件:
var eve=new Event('custone')
ev.addEventListenter('custone',function(){
console.log('custone')
})
ev.dispatchEvent(eve)customEvent和Event类似,但customEvent还可以传入自定义的参数
var eve=new Event('custone',xxx)