【发布时间】:2015-12-15 15:09:39
【问题描述】:
单击按钮后,我正在尝试更改按钮的颜色。我在这里查看示例,我终于在单击后更改了颜色,但是当我单击其他位置(按钮外的任何位置)时,该 css 类就消失了。这些按钮位于表单内部,因此我希望它们在表单提交之前保持活动状态 css。
这是我目前所拥有的:
jQuery('.choose-school').click(function() {
jQuery(this).toggleClass('active');
if (jQuery(this).hasClass('active')) {
jQuery(this).text('SELECTED');
} else {
jQuery(this).text('SELECT');
}
});
.choose-school.active {
background-color: #eeffd4;
}
.choose-school:active {
background-color: #eeffd4;
}
.choose-school:focus {
background-color: #eeffd4;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button type="button" class="choose-school">
<h3>Testing
<span class="select-active">SELECT</span>
</button>
我尝试使用 :active 和 :focus 之类的东西来查看是否有帮助,但没有。在 JQuery 中,我还尝试将跨度文本更改从“SELECT”更改为“SELECTED”有人知道这部分代码有什么问题吗?
【问题讨论】:
-
您的代码几乎对我有用。检查这个小提琴:jsfiddle.net/m202zz0j我只将事件处理程序更改为“on”事件
-
代码对我来说很好example
-
在 chrome 47 中也可以为我找到
-
您缺少结束
<h3>标记... -
@Julo0sS 完美!好的,问题是现在它将整个按钮更改为选中!我希望它只是将“选择”更改为“已选择”,所以基本上只是针对该跨度或跨度类
标签: javascript jquery html css