Javascript 防止要触发的基础div onclick事件

Javascript 防止要触发的基础div onclick事件,javascript,html,Javascript,Html,我正在尝试创建一个覆盖,它有一个外部div(半透明)和一个较小的内部内容div。单击外部区域可以显示覆盖。单击内容区域应与覆盖内容交互 查看我的示例代码,单击红色区域首先会引发警报“红色”,然后会引发警报“黑色”,从而在第一次交互后立即关闭覆盖 如何防止在单击上面的红色div时触发底层黑色div的onclick事件 一些内容 这更像是您正在经历的一种javascript行为 冒泡 起泡原理很简单 当一个事件发生在一个元素上时,它首先在该元素上运行处理程序,然后在其父元素上运行,然后一直运行到

我正在尝试创建一个覆盖,它有一个外部div(半透明)和一个较小的内部内容div。单击外部区域可以显示覆盖。单击内容区域应与覆盖内容交互

查看我的示例代码,单击红色区域首先会引发警报“红色”,然后会引发警报“黑色”,从而在第一次交互后立即关闭覆盖

如何防止在单击上面的红色div时触发底层黑色div的onclick事件


一些内容

这更像是您正在经历的一种javascript行为

冒泡 起泡原理很简单

当一个事件发生在一个元素上时,它首先在该元素上运行处理程序,然后在其父元素上运行,然后一直运行到其他祖先

使用
event.stopPropagation()

定义和用法
  • stopPropagation()
    方法防止调用同一事件的传播

  • 传播意味着向上冒泡到父元素或向下捕获到子元素

更新 一个简单的函数将更容易处理

大概是这样的:

const-alert=(文本)=>{
event.stopPropagation();
窗口警报(文本)
}

一些内容