事件触发:那个元素真正触发了事件

事件冒泡:由内到外

如果 ul 和 li 都绑定了click事件,当对  li   元素进行点击事件时,事件捕获则是先调用ul的click事件,之后再调用li的click事件,冒泡阶段则是先调用li的click事件,之后再调用ul的click事件

4、阻止冒泡

event.stopPropagation();阻止事件冒泡
IE浏览器:window.event.cancelBubble = true

5、阻止捕获

6、具体案例:

 <ul id="app">
    <li id="child">大家好,我是1号</li>
    <li>大家好,我是2号</li>
    <li>大家好,我是3号</li>
    <li>大家好,我是4号</li>
    <li>大家好,我是5号</li>
  <script>
    var app = document.getElementById('app');
    app.addEventListener('click', function (event) {
      console.log(1, event.target, event);
    var li = document.getElementById('child');
    li.addEventListener('click', function (event) {
      console.log(2, event.target, event);
  </script>
2 <li id=​"child">​…​</li>​ PointerEvent {isTrusted: true, pointerId: 1, width: 1, height: 1, pressure: 0, …}
1 <li id=​"child">​…​</li>​ PointerEvent {isTrusted: true, pointerId: 1, width: 1, height: 1, pressure: 0, …}

执行的顺序是冒泡顺序
如果将li的click事件的第三个参数设置为true,得到的结果也是如上结果,因为对于ul来说触发阶段在冒泡阶段,则是先执行li的点击事件,而li的触发阶段是在捕获阶段,因此先执行li的点击事件
<ul id="app">
    <li id="child">大家好,我是1号</li>
    <li>大家好,我是2号</li>
    <li>大家好,我是3号</li>
    <li>大家好,我是4号</li>
    <li>大家好,我是5号</li>
  <script>
    var app = document.getElementById('app');
    app.addEventListener('click', function (event) {
      console.log(1, event.target, event);
    }, true);
    var li = document.getElementById('child');
    li.addEventListener('click', function (event) {
      console.log(2, event.target, event);
    }, true);
  </script>
1 <li id=​"child">​…​</li>​ PointerEvent {isTrusted: true, pointerId: 1, width: 1, height: 1, pressure: 0, …}
2 <li id=​"child">​…​</li>​ PointerEvent {isTrusted: true, pointerId: 1, width: 1, height: 1, pressure: 0, …}
执行的顺序是捕获顺序
如果将ul的click事件的第三个参数设置为true,li的第三个参数为false, 得到的结果也是如上结果,因为对于ul来说触发阶段在捕获阶段,则是先执行ul的点击事件,而ul的触发阶段是在捕获阶段,因此先执行ul的点击事件
Java radis权限 java四种权限

前言:本篇随笔,主要记录Java的基础知识点,不管是用于项目或者面试中,笔者认为都非常有用,所以将持续更新...... 1.Java的访问权限 Java中有四种访问权限:默认访问权限、public、private、protected 这四种访问权限中,只有默认访问权限和public才能修饰类(这里所说的类为外部类,对于内部类,四种权限都可以进行修饰),对于字段和方法,四种权限都可以进行修饰。