当其中有一个按钮时,使div背景可点击

用户名

我有一个内部带有按钮的div,我想为两者创建单独的单击事件,但是当单击按钮时,它会触发按钮事件和容器事件。有人可以帮我吗。我没有使用jQuery。

var button = document.querySelector('button');
button.addEventListener('click', function(){
  alert('button clicked');
})
var container = document.querySelector('.container');
container.addEventListener('click', function(){
  alert('container clicked');
})
.container{
  width:300px;
  height:300px;
  border:1px solid;
  position:relative;
  z-index:1;
}
button{
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
      z-index:2;
}
<div class="container">
  <button>click</button>
</div>

安吉·阿加瓦尔

使用e.stopPropagation();阻止事件的从子元素的父元素的传播。

var button = document.querySelector('button');
button.addEventListener('click', function(e){
  e.stopPropagation();
  alert('button clicked');
})
var container = document.querySelector('.container');
container.addEventListener('click', function(){
  alert('container clicked');
})
.container{
  width:300px;
  height:300px;
  border:1px solid;
  position:relative;
  z-index:1;
}
button{
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
      z-index:2;
}
<div class="container">
  <button>click</button>
</div>

只要确保在stopPropagationpreventDefault

stopPropagation阻止事件冒泡事件链。

preventDefault防止浏览器对该事件执行默认操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我需要一个应用程序屏幕,其中有一个图标网格(可点击)、一个横幅和一个项目列表视图

选择一个div内的第一个div,但前提是其中有10个

创建一个列表,其中有用户单击并悬停一个元素的按钮,以打开另一个

Python Seleinum 查找特定类的div,如果其中有另一个div,则找到第三个div并复制其中的文本

Javascript返回一个空数组,但其中有两个元素

我有一个执行流程问题,其中有nodejs子进程

当其中有文字时div折叠

如何在 Excel 中引用完整的列,其中有一个值

发布一个实体与Spring数据REST其中有关系

使用 NewMailEx 处理一个帐户,其中有多个帐户

防止用户选择日期范围,其中有一个禁用的日期之间

父 div,有两个孩子,其中有确切的高度,如何给另一个孩子“自由左”空间作为高度

如何让 Excel 从右到左读取并找到第一个案例,其中有一个“X”

当其中有2个或更多组件时,为什么我的Angular应用无法正确设置背景?

求一个N ^ 2个数字的中位数,其中有N个记忆

python:我有一个列表,其中有逗号分隔的元素,我想获得唯一的元素

我有一个行表,其中有复选框。如何选择特定的复选框

如何查找此数组是否有重复的对象,其中有另一个数组

一个laravel文件夹,其中有许多基于链接的数据库

Excel如何将筛选器应用于其中有一个值的列?

在手风琴标题中有一个可点击的元素

点击测试其中有孔的矩形

动态添加按钮-只有最后一个按钮是“可点击的”

Laravel Eloquent的数据透视表,其中有一个表的2个外键和另一个表的1个外键

我有一个数据表,其中有一个带有十进制值的列

PHP preg_split添加了一个空数组键,该键不能被array_filter清除,因为其中有一个“空格”

如何调用其中有一个自定义的复杂对象类型作为从Java输入参数一个Oracle PL-SQL过程

如果其中有一个设备在其中,Cisco Anywhere VPN是否可以监视/记录wifi上的哪些设备正在访问?

仅当其中有项目时才渲染组件