首页 > 其他分享 >关于事件对象中的stopImmediatePropagation

关于事件对象中的stopImmediatePropagation

时间:2024-05-11 23:08:41浏览次数:12  
标签:console log 对象 stopImmediatePropagation 事件 addEventListener document click

关于e.stopPropagation(),大家应该知道这个方法是用来阻止事件冒泡的。

那么e.stopImmediatePropagation()可能比较少见。

stopImmediatePropagation

用来阻止在同一DOM对象上同一事件类型的其它事件函数的执行
并且与事件先后注册的顺序有关

document.addEventListener("click",e=>{
    console.log("click",1);
})

document.addEventListener("click",e=>{
    console.log("click",2);
})

正常就应该是这样,如果你用document.onclick那么我应该不用解释吧。

加上e.stopImmediatePropagation();

document.addEventListener("click",e=>{
    e.stopImmediatePropagation();
    console.log("click",1);
})

document.addEventListener("click",e=>{
    console.log("click",2);
})

但阻止的是在其之后注册事件

document.addEventListener("click",e=>{
    console.log("click",1);
})

document.addEventListener("click",e=>{
    e.stopImmediatePropagation();
    console.log("click",2);
})

这里两个事件都触发了。

并且不同类型之间的事件不相影响

标签:console,log,对象,stopImmediatePropagation,事件,addEventListener,document,click
From: https://www.cnblogs.com/longmo666/p/18187334

相关文章

  • 事件循环(event loop)原理,并类比理解qt的信号(Signal)和槽(Slot)机制)
    背景:实际项目中要使用pyqt/pyside技术,涉及到qt和asyncio的事件循环,并需要使用到qt的信号(Signal)和槽(Slot)机制,从底层了解事件循环的原理使得后续工作更好入手。事件循环是什么?事件循环(EventLoop)是一种用于处理和调度异步任务的机制。它通常用于编写异步编程,特别是在处理IO密......
  • 记一次由sequence引发的enq sv-contention等待事件
    转自:https://www.cnblogs.com/lijiaman/p/10423272.html#4237610数据库版本:11.2.0.4RAC(1)问题现象从EM里面可以看到,在23号早上8:45~8:55时,数据库等待会话暴增,大约到了80个会话。通过查看EM的SQL信息,发现等待产生于SQL语句selectTIMEKEYID.nextvalfromdual (二)问题追踪......
  • vue绑定对象,绑定的值不改变的问题
    在使用vue结合elmentui的table组件,对数组绑定,需要编辑数组里一些属性的值。我的情况是,需要在打开这个表时,根据条件插入一些对象到table里,经测试,到这里是没问题的,可以显示新插入的对象。问题在于,当我改变这些新插入对象的count字段时,发现输入数字,输入框的数字并没有改变,而在不是新......
  • 使用c#强大的表达式树实现对象的深克隆
    一、表达式树的基本概念表达式树是一个以树状结构表示的表达式,其中每个节点都代表表达式的一部分。例如,一个算术表达式a+b可以被表示为一个树,其中根节点是加法运算符,它的两个子节点分别是a和b。在LINQ(语言集成查询)中,表达式树使得能够将C#中的查询转换成其他形式的查询,......
  • 【Java】创建对象的几种方式
    1.new创建新的对象Stringstr=newString("str");2.通过Java的反射机制publicstaticvoidmain(String[]args)throwsException{//获取类的Class对象Stringstr=(String)Class.forName("java.lang.String").newInstance();System.out......
  • python教程11-面向对象
    python的面向对象和java有一些不一样:(java中,只有在类中定义的变量实例才能用,但是python更加灵活)类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实......
  • C#中的对象深拷贝和浅拷贝
    1.浅拷贝publicclassPerson{publicPerson(){this.Address=newAddress();}publicstringName{get;set;}publicintAge{get;set;}publicAddressAddress{get;set;}publicPersonClone(){re......
  • layui 事件管理
    //config其实就是每个layui实例的cache属性//自定义模块事件Layui.prototype.onevent=function(modName,events,callback){if(typeofmodName!=="string"||typeofcallback!=="function")returnthis;//解释:相当于注册事件回调的功能和执行事......
  • synchronized原理-字节码分析、对象内存结构、锁升级过程、Monitor
    本文分析的问题:synchronized字节码文件分析之monitorenter、monitorexit指令为什么任何一个Java对象都可以成为一把锁?对象的内存结构锁升级过程Monitor是什么、源码查看字节码分析synchronized的3种使用方式作用于实例方法,对对象加锁作用于静态方法,......
  • 21.面向对象【五】
    【一】内置方法补充1)__call__#__call__:当类()或对象()调用时触发classEg:def__init__(self):print('执行__init__')def__call__(self,*args,**kwargs):print('执行__call__')obj=Eg()#执行__init__obj()#执行__call__#校验当......