【发布时间】:2021-05-27 10:39:19
【问题描述】:
我在绝对位置 div 中有一个按钮;它有一个点击处理程序,但它没有触发。我在绝对定位的 div 上也有一个 mousedown 事件。当我从父 div 中删除 mousedown 处理程序时,click 处理程序将正常工作。
这是标记和 CSS:
<div class="container">
<div class="selection">
<button class="close-button">✖</button>
</div>
</div>
.selection {
position: absolute;
top: 303px;
left: 92.5px;
height: 440px;
width: 50vw;
background-color: blue;
cursor: pointer;
}
.close-button {
height: 22px;
vertical-align: top;
border: 0;
background-color: transparent;
color: white;
font-size: 18pt;
line-height: 20px;
user-select: none;
cursor: pointer;
}
按钮呈现在绝对div之上
为什么这些事件会发生冲突,我该如何解决?
-- 编辑--
我已经确认事件处理程序确实存在于 DOM 上,正如我所期望的那样。我可以从控制台手动触发它们。我的示例中没有包含事件处理程序,因为它是用 React 编写的。
【问题讨论】:
-
你能发布事件处理程序连接吗?
-
@SuperJumbo 我可以确认事件连接正确。这项工作是在 React.js 中完成的,我担心这会使问题复杂化。
-
反转处理程序时是否有效?将
click放在div 上,将mousedown放在按钮上? -
我知道你不想发布你的代码,如果它使事情变得复杂,但至少创建一个mcve。大多数人不会为了验证您的问题并尝试找到解决方案而编写自己的测试代码。如果您希望人们花时间帮助您而没有任何回报,您至少应该让他们尽可能轻松地这样做:)
-
@icecub 我将创建一个 MCVE 并更新这个问题。
标签: javascript html css css-position absolute