DOM事件类

206 阅读1分钟

基本概念:

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事件冒泡的具体流程:

目标元素.....bodyhtmldocumentwindow

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)