zoukankan      html  css  js  c++  java
  • JavaScript自定义事件监听

    一.事件的属性和方法

     1 //事件Event
     2 //属性:`
     3 `bubbles`:布尔值,是否会冒泡
     4 `cancelable`:布尔值,是否可以取消默认动作
     5 `target`:目标对象
     6 `currentTarget`:当前对象
     7 `timeStamp`:时间戳(相对于某个时刻)
     8 `type`:事件类型,即注册该事件的名字
     9 `eventPhase`:返回事件传播的当前阶段
    10 
    11 
    12 //方法
    13 1.event.stopPropagation(); 阻止冒泡
    14 
    15 2.event.preventDefault(); 阻止默认动作,只有cancelable为true时才可以阻止默认动作
    16 
    17 3.event.stopImmediatePropagation(); 阻止事件链

    二.自定义事件监听

    • CustomEvent:创建事件
    • dispatchEvent:触发事件

     1 <script>
     2 
     3     // 自定义事件
     4     var event = new CustomEvent('myTestEvent', {
     5         "detail": {  //可携带额外的数据
     6             age: 18
     7         },
     8         "bubbles": true,//是否冒泡    回调函数中调用,e.stopPropagation();可以阻止冒泡
     9         "cancelable": false,//是否可以取消  为true时,event.preventDefault();才可以阻止默认动作行为
    10     });
    11 
    12     // 绑定监听事件
    13     document.addEventListener('myTestEvent', (e) => {
    14         console.log(e);
    15     });
    16 
    17     // 触发事件
    18     setInterval(() => {
    19         document.dispatchEvent(event);
    20     }, 100);
    21 
    22 </script>
  • 相关阅读:
    C# 桥接模式(Bridge)
    C# 中介者模式(Mediator)
    C# 命令模式(Command)
    C# 模板方法(TempleteMethod)
    C# 装饰模式(Decorate)
    C# 策略模式(Strategy)
    C# 职责链模式(Chain of Responsibility)
    C# 外观模式(Facade)
    C# 单例模式(Single)
    C# 原型模式(Prototype)
  • 原文地址:https://www.cnblogs.com/zhihaospace/p/12267464.html
Copyright © 2011-2022 走看看