【发布时间】:2016-09-04 20:27:51
【问题描述】:
如何在hover 上制作一个改变颜色的按钮,然后在单击后恢复其原始颜色?
问题是我的按钮以红色渐变开始,然后在悬停时改变颜色,然后在单击后变为白色。但我希望它在被点击后返回红色,而不是白色。
我以为我通过添加focus 找到了解决方案。这样,在单击按钮后,它会在焦点对准时返回其原始颜色。但是在焦点从按钮上移开之前,悬停不会改变按钮的颜色。
我还没有找到伪类或 javascript 的组合来保持这个按钮为红色,除非它悬停在上面。
编辑
根据@webeno 的评论,我删除了 CSS 并尝试使用此 javascript 的新方法,但该按钮继续以其默认样式工作。 (在此示例中,颜色为蓝色,然后在悬停时为红色。)
<button class = "btn">Go</button>
<script>
.red {background-color: #f00;
}
.blue {background-color: #00f;
}
$(document).ready(function(){
$('.btn').mouseover(function(){
$(this).addClass('red');
}).mouseout(function(){
$(this).addClass('blue');
});
});
</script>
【问题讨论】:
-
查看代码中某处的
:visited伪类,可能是罪魁祸首... ;) -
...或 javascript 中的
mouseout/hover事件... -
好主意;我没有“已访问”并尝试添加一个以查看它是否可以将按钮设置回其原始状态,但这不起作用。
-
我也尝试了
mouseoutjavascript 的想法,但这似乎也不起作用。我已经相应地更新了我的原始帖子。 -
看看我的回答...
标签: jquery html css hover focus