DOM事件

根据慕课视频总结的笔记

DOM事件的级别

   // DOM0  
    elemen.onclick=function(){}
   // DOM2 element.addEventListener('click',function(){},false)  
   //其实制定了是捕获还是冒泡
   //DOM3  element.addEventListener('keyup',function(){},false)
   //相对DOM2增加了很多事件类型,比如鼠标事件,键盘事件

DOM事件模型
就包括捕获true和冒泡false

DOM事件流
事件流就是浏览器就当前页面与用户做交互,
完整事件流:
第一阶段捕获——》第二阶段目标阶段——》第三阶段冒泡阶段
事件通过捕获到达目标元素,然后在从目标元素上传到window对象
描述DOM事件捕获的具体流程
捕获是从上到下的过程
window——》document——》html(如何取html标签?document.documentElement)——》body——》。。。——》目标元素

冒泡就是相反的路线

Event对象的常见应用

event.preventDefault()
//阻止默认事件,比如设了一个a标签,绑定了一个click事件,加上这个事件就阻止链接默认跳转的行为
event.stopPropagation()
//阻止冒泡,比如父级元素,子元素都绑定了事件,如果想要单击子元素做一件事,单击父元素再做一件事,我们就给子元素阻止冒泡,
event.stoplmmediatePropagation
//比如一个按钮绑定A和B两个事件,我想按优先级来,比如执行了A就不要执行B,我们就在A中加上这个事件,就能阻止B(事件响应优先级)
event.currentTarget
//
event.target
//最后两个是常考的,一个for循环给一个DOM节点注册了很多事件,如何优化?——》使用事件代理,把子元素的事件全部转到父元素,绑定一次事件即可。就得区分哪一个被点击——》target就是当前被点击的元素(子元素),currentTarget是当前所绑定的事件(父级元素)

自定义事件(模拟事件)

var eve=new Event('custome')  //new一个Event
ev.addEventListener('custome',funnction(){
  console.log('custome')  //通过DOM2事件注册的方式来绑定这个自定义事件,ev是个dom对象
})
ev.dispatchEvent(eve)//触发事件

Event只能指定事件名
CustomEvent 不仅能指定事件名,还可以跟个object做指定参数(自定义的)
如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值