我有一个页面,我们正试图改变到2个不同类别的领导加载后,点击一个按钮。而不是把它们一个放在另一个上面。我能够实现领导类别的变化对领导组按钮的点击。但是,当该类别在页面加载时处于活动状态或单击按钮以外的任何位置后,我无法使按钮保持下划线。
https://auduboncosites.wpengine.com/who-we-are/leadership/
我已经尝试了几种不同的解决方案,但它们似乎不适用于我的问题,而且我找到的解决方案都很旧。实际上我不认为我使用的JS在这个示例中做了任何事情,而且目前都是基于CSS的下划线。
CSS:
.active:focus, .active:active, .active:visited {
text-decoration: underline;
}
JS:
var $buttons = jQuery('button');
$buttons.on('click',function() {
jQuery(this).toggleClass('active').siblings('button').removeClass('active');
})
我希望有人能帮我找到解决办法。
谢谢
2条答案
按热度按时间mbzjlibv1#
这就是HTML/CSS中
:focus
状态的工作方式。你已经点击了某个东西,现在你的焦点在你点击其他东西之前。看看下面的demo。当有焦点时,它将有一个绿色的边界。点击一个,它有焦点。单击离开或按Tab键更改焦点。如果你不想这样的话,就删除你的
:focus
样式。修改/编辑答案
我不知道你想保持链接下划线。在这种情况下,这甚至更容易。您只需要在选中某个类时应用它,然后将它从其他类中删除。它非常接近你已经发布的代码,但我认为你只需要有更简单的CSS,而不扰乱
:focus
状态。如果应用了类,则它看起来是活动的。就是这样。这是一个使用jQuery的版本。
这里有一个版本可以做同样的事情,但不需要jQuery。
vs91vp4v2#
正如我从问题和附加代码中所理解的,您希望在单击时对特定按钮进行样式化,并且在单击其他位置时不应影响此效果。您提供的代码包含更多详细信息。您必须有一个包含活动类的焦点按钮,并且希望即使该按钮没有焦点,效果也能继续。光靠上课就够了,不需要靠专注。