zoukankan      html  css  js  c++  java
  • 小谢第41问:事件冒泡和阻止事件冒泡(事件捕获)

    在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。 

    事件冒泡是事件流的第三个阶段,通过事件冒泡可以在这个阶段对事件做出响应。

      关于冒泡,事件对象中包含bubblescancelBubblestopPropagation()stopImmediatePropagation()这四个属性和方法。

    1.event.stopPropagation(); 
    事件处理过程中,阻止了事件冒泡,但不会阻击默认行为(执行超链接的跳转) 
    2.returnfalse; 
    事件处理过程中,阻止了事件冒泡,也阻止了默认行为(不执行超链接的跳转) 
    还有一种与冒泡有关的: 
    3.event.preventDefault(); 
    事件处理过程中,不阻击事件冒泡,但阻击默认行为(它只执行所有弹框,却没有执行超链接跳转)

    事件捕获和事件冒泡的定义

    addEventListener方法具有第三个可选参数useCapture,其默认值为false,事件将在冒泡阶段中发生,如果为true,则事件将在捕获阶段中发生。如果单击child元素,它将分别在控制台上打印windowdocumenthtmlgrandparentparent,这就是事件捕获
    addEventListener方法具有第三个可选参数useCapture,其默认值为false,事件将在冒泡阶段中发生,如果为true,则事件将在捕获阶段中发生。如果单击child元素,它将分别在控制台上打印childparentgrandparenthtmldocumentwindow,这就是事件冒泡
     
     
  • 相关阅读:
    go 语言之fmt.Sprintf格式化使用
    golang 中string和int类型相互转换
    GO 获取时间的日期函数、时间戳函数
    go 字符串切割方法小结
    php获取中英文字符串字符长度mb_strlen,字节长度strlen
    linux 之 grep 命令
    linux 无界面环境安装chrome,chromedriver,selenium
    kafka 常用命令总结
    linux中系统中 /bin、/sbin、/usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin 目录的含义及区别
    3306端口被占用导致MySQL无法启动
  • 原文地址:https://www.cnblogs.com/xieoxie3000question/p/13360911.html
Copyright © 2011-2022 走看看