DOM事件实例

作者: 朱珠霞 | 来源:发表于2018-05-29 19:38 被阅读4次

点击别处关闭浮层

Ⅰ. 思路1

阻止冒泡 stopPropagation()

  • 案例点这里

  • bug:同样地,点击浮层会关闭

  • 解决bug:在它们的父元素wrapper上增加阻止冒泡

Ⅱ. 思路2

document在捕获阶段触发click事件,点击按钮在冒泡阶段触发click事件

  • 案例点这里

  • bug:点击浮层会关闭

  • 解决bug:笨方法,给浮层也加上一个click事件,这里用思路1的解决方法是解决不了问题的。因为document的click事件是在捕获阶段获取的,而stopPropagation()只是阻止了冒泡阶段。

Ⅲ. 思路3(更节省内存)

1.使用one()方法,使document只执行一次click事件(hide)

  • 案例点这里
  • 解决两个bug方法
    • 阻止冒泡
      1. 知识点
        a. jQuery的.on()方法的一个用法
        $(wrapper).on('click',false)
        //等价于下面
        $(wrapper).on('click',function(e){
        e.stopPropagation()
        e.preventDefault()
        })
        //会出现的一个bug
        //preventDefault()会使得checkbox不能点击。
        b. .one()方法只执行一次事件的函数。
    • 添加一个定时器,让document的事件函数在冒泡结束之后再添加。----------防止点击button时,浮层无法出现。

相关文章

  • DOM事件实例

    点击别处关闭浮层 Ⅰ. 思路1 阻止冒泡 stopPropagation() 案例点这里 bug:同样地,点击浮...

  • DOM事件探秘(2)事件类型

    DOM有不同的事件类型,按大类分有鼠标事件,键盘事件。根据《DOM事件探秘》文章,我们来做几个综合实例。 鼠标事件...

  • 2018-07-15

    DOM中的函数 鼠标移入移出实例 HTNL代码 js代码 点击事件实例 HTML代码 js代码

  • vue生命周期

    每个vue实例在被创建之前都要经过初始化。例如观测数据,初始化事件,挂载Dom,同时data变化时,更新Dom,在...

  • 前端面试题(3)——DOM事件类

    基本概念:DOM事件的级别 DOM事件模型:事件冒泡事件捕获 DOM事件流 描述DOM事件捕获的具体流程 Even...

  • DOM事件

    DOM级别与DOM事件 DOM级别:DOM0级、DOM1级、DOM2级、DOM3级DOM事件:DOM0级事件处理、...

  • DOM事件

    DOM级别与DOM事件 DOM级别:DOM0级,DOM1级,DOM2级和DOM3级DOM事件:DOM0级事件处理,...

  • DOM0和DOM2级事件简单理解

    关于DOM0 和DOM1级事件可以简单理解为:事件分为DOM 0级事件和Dom 2级事件,DOM2级事件也叫做事件...

  • Dom事件

    基本概念 Dom事件级别 Dom事件模型 Dom事件流 描述Dom事件捕获的具体流程 Event对象的常见应用 自...

  • 3-6 DOM事件

    问题 DOM 事件的级别 DOM 事件模型(就是捕获和冒泡儿) DOM 事件流 描述DOM事件捕获的具体流程 Ev...

网友评论

    本文标题:DOM事件实例

    本文链接:https://www.haomeiwen.com/subject/wrgajftx.html