使用.active类而不是:active伪类,伪类仅在用户保持鼠标按钮(或指向设备等效项)按下时才会持续。.panel-header改为定位链接的父级:
$('.panel-heading').on('click', function(e) {
$(this).toggleClass('active');
});
CSS已被修改为.panel-heading通过加倍类以更高的特异性覆盖:
.panel-heading.panel-heading {...
一些 Bootstrap 类不能被级联优先级覆盖,只需加倍目标类,如上所示——不要使用!important
另外,<link>放在<head>. 放在<script>结束</body>标签之前。见演示。
演示
.panel-heading.panel-heading.active {
background: red;
}
.panel-title {
display: inline-block;
width: 100%;
}
.panel-heading.panel-heading.active .panel-title {
color: white;
font-weight: 900;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
</head>
<body>
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" class="panel-title" href="#collapse1">Title</a>
</div>
<div id="collapse1" class="panel-collapse collapse">
<ul class="list-group">
<li class="list-group-item">item 1</li>
<li class="list-group-item">item 2</li>
</ul>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script>
$('.panel-heading').on('click', function(e) {
$(this).toggleClass('active');
});
</script>
</body>
</html>