最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • dom事件流和事件相关操作

    正文概述 掘金(zj5012)   2021-04-14   679

    事件流顺序

    事件流是网页元素接收事件的顺序,“DOM2级事件”规定的事件流包括三个阶段:

    • 事件捕获阶段
    • 处于目标阶段
    • 事件冒泡阶段

    首先发生事件捕获,为截获事件提供机会,然后是实际的目标接受事件,最后一个阶段是事件冒泡阶段,

    事件捕获

    const dom = document.getElementById('#main')
    dom.addEventListener('click', (event) => {
      console.log(event)
    }, true)
    

    如何组件事件捕获

    function myEvent(event) {
      event.stopImmediatePropagation()
    }
    

    事件冒泡

    const dom = document.getElementById("#main")
    dom.addEventListener('click', (event) => {
      console.log(event)
    }, false)
    

    如何阻止事件冒泡

    function myEvent(event) {
      event.stopPropagation()
    }
    

    当容器元素及嵌套元素,即在捕获阶段又在冒泡阶段调用事件处理程序时:事件按dom事件流的顺序执行事件处理程序:

    • 父级捕获
    • 子级捕获
    • 子级冒泡
    • 父级冒泡

    事件是如何实现的

    基于发布订阅模式,就是在浏览器加载的时候会读取事件相关的代码,但是只有实际等到具体的事件触发的时候才执行

    在web端,我们常见的就是DOM事件

    • DOM0级事件,直接在html元素上绑定on-event,比如onclick,取消的话,dom.onclick = null, 同一个事件只能有一个处理程序,后面的会覆盖前面的
    • DOM2级事件,通过addEventListener进行事件监听,通弄过removeEventListener来删除事件,一个事件可以有多个事件处理程序,按顺序执行,捕获事件和冒泡事件
    • DOM3级事件,增加了事件类型,比如UI事件,焦点事件,鼠标事件

    事件委托

    事件委托可以减少事件的监听,优化操作性能,其原理是利用事件冒泡,给父级一个事件监听,点击级子元素冒泡到父元素的事件,然后判断当前点击的event元素类型,获取想要的值


    下载网 » dom事件流和事件相关操作

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元