【发布时间】:2022-01-23 23:13:47
【问题描述】:
看下面的例子。单击重置按钮,您将获得控制台日志 1,以便您确认其工作。
当您单击搜索字段时,它会展开,使按钮浮动到新行(包括重置按钮)。现在,如果您尝试在新行中单击重置按钮,则关闭搜索字段的转换将比单击重置按钮执行得更快。不是大问题,但很有趣。这是预期的行为吗?
document.querySelector(".reset").addEventListener("click", function(e) {
console.log(1)
});
.wrap {
max-width: 700px;
}
.a {
padding: 10px 50px;
background: #ccc;
display: inline-flex;
}
.filter {
width: 50px;
transition: all 0.1s;
}
.filter:focus {
width: 250px;
}
<div class="wrap">
<input type="search" class="filter">
<div class="a">button 1</div>
<div class="a">button 2 </div>
<div class="a">button 3</div>
<div class="a reset">reset</div>
</div>
【问题讨论】:
-
是的。因为单击事件是在您从
.filter元素中模糊/不聚焦后触发的。 -
有很多mouse events和touch events可供您使用。在您的情况下,建议使用
mousedown作为@Danny 答案。
标签: javascript html css hover