【发布时间】:2018-03-06 16:21:08
【问题描述】:
我正在尝试添加 toggleClass 但它不起作用。我还尝试使用 hasClass 添加或删除类。也有同样的问题。
$(document).ready(function() {
$(".srch-btn").click(function() {
$(".srch-inpt").toggleClass("expanded");
});
});
.box {
width: 300px;
max-width: 100%;
position: absolute;
top: 0;
}
.srch-inpt {
height: 38px;
box-sizing: border-box;
transition: all 0.5s ease;
color: #fff;
opacity: 0;
padding: 10px 38px;
width: 0;
background: rgba(166, 166, 166, 0.48);
border: none;
border-bottom: 2px solid #ddd;
}
.srch-inpt.expanded {
width: 100%;
opacity: 1;
}
button {
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="searchform" method="get" action="">
<button type="button" class="srch-btn">search</button>
<div class="box">
<input type="text" name="s" value="" id="s" class="srch-inpt">
</div>
</form>
【问题讨论】:
-
并不是说它不起作用,而是你的
div绝对位置阻止了搜索按钮上的点击事件。删除绝对值,它就可以工作了(但可能不像预期的那样)。 -
问题是
.boxdiv。它位于按钮的顶部,因此无法单击该按钮。 -
浏览器调试器中的断点可以帮助您确定事件是否被触发。
标签: javascript jquery html css