DOM事件

DOM事件级别
    DOM0:ele.onclick=function(){}
    DOM2:ele.addEventListener("click",function(){},false)
    DOM3:ele.addEventListener("keyup",function(){},false)// 增加事件类型
DOM事件模型
  • 冒泡:从事件元素向上
  • 捕获:从上到下 ele.addEventListener(“click”,function(){},true)
DOM事件流
  • 捕获
  • 目标阶段
  • 冒泡
描述DOM事件捕获的具体流程
  • 第一个接收 是window
  • document
  • html标签(document.documentElement)
  • body
  • 目标元素
<style>
    #div {
        width: 200px;
        height: 200px;
        background-color: red;
    }
</style>
<div id="div">目标元素</div>
<script>

    var ele = document.getElementById('div')
    window.addEventListener('click', function () {
        console.log('window capture')
    }, true)

    document.addEventListener('click', function () {
        console.log('document capture')
    }, true)

    document.documentElement.addEventListener('click', function () {
        console.log('html capture')
    }, true)

    document.body.addEventListener('click',function(){
        console.log('body capture')
    },true)

    ele.addEventListener('click',function(){
        console.log('ele capture')
    },true)





</script>
event对象的常见应用
  • 阻止默认事件
  • 阻止冒泡
  • event.stopImmediatePropagation() 禁止绑定到同一元素上的 其他事件
  • event.currentTarget() 当前绑定事件的元素
  • event.target() 可用于事件代理中获取当前发生事件的元素
自定义事件
var ev = document.querySelector('#div')
var eve=  new Event('custome');
ev.addEventListener('custome',function(){
    console.log("custome")
})
ev.dispatchEvent(eve)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值