html - 兄弟与父子相对定位和事件冒泡
问题描述
.parent {
background-color: red;
width: 100px;
height: 100px;
position: absolute;
}
.foo{
background-color: blue;
opacity: 0.5;
position: absolute;
left: 25%; /*This cannot be changed.*/
top: 25%; /*This cannot be changed.*/
width: 50px; /*This cannot be changed.*/
height: 50px; /*This cannot be changed.*/
}
.fooBorder{
border: 3px solid black;
position: absolute;
left: 22%; /*This cannot be changed.*/
top: 22%; /*This cannot be changed.*/
width: 50px; /*This cannot be changed.*/
height: 50px; /*This cannot be changed.*/
}
<h3>Situation 1</h3>
<div class="parent">
<div class="foo" onClick="alert('foo')"></div>
<div class="fooBorder" onClick="alert('fooBorder')"></div>
</div>
<br>
<br>
<br>
<br>
<br>
<br>
<h3>Situation 2</h3>
<div class="parent">
<div class="fooBorder" onClick="alert('fooBorder')">
<div class="foo" onClick="alert('foo')"></div>
</div>
</div>
我进退两难,无法合并两个问题。我想要两全其美,但这是不可能的。
在情况 1中, foo 和 fooBorder 相对于父级的位置。这就是我想要定位元素的方式。但是当你点击时,只有 fooBorder 会得到一个点击事件。但是我必须在两个元素上都有一个点击事件。
在情况 2中,foo 是 fooBorder 的子项,这就是我想要构建我的 html 的方式,但我希望从情况 1 中定位。但是现在点击事件在 foo 和 fooBorder 上都可以正常工作。
如果我能让事件发挥作用,我会妥协并选择情况 1 作为定位。实际上情况更复杂,我把它简化了。如果有帮助的话,它实际上是一个角度应用程序。有人有想法么?
解决方案
推荐阅读
- javascript - HTML 画布在 Firefox 中显示颜色不正确的图像
- webpack - 如何告诉 Webpack 不要通过摇树来读取(排除)无法访问的文件?
- list - numba中嵌套列表中的唯一列表
- node.js - 从数据库集合中读取信息,然后批量写入或批量更新
- python - 将列从一个表添加到另一个表的正确方法
- mql5 - 如何在 mql5 中创建一个带空格的 int 变量?
- javascript - 类型错误:无法读取 null 的属性“名称”
- python - 如何使用另一个重新启动 python 脚本?
- javascript - 我想让我的不和谐机器人能够使用包含输入用户名的链接的用户名回复命令
- ios - 如何在不累积大量约束的情况下以编程方式更改按钮大小?