javascript - onClick 函数删除 :hover pseudo class

标签 javascript jquery html css

我偷了一个小的 jQuery 脚本来使同一页面上的导航链接平滑滚动并做了一些小改动。

到目前为止它工作正常,但是当单击链接时,悬停事件的 CSS 没有被删除,文本仍然带有下划线。现在我认为这与 preventDefault 函数有关,该函数执行其名称所暗示的内容并防止默认行为。

鼠标再次离开链接后如何去掉hover伪类?

$(document).ready(function ()
{
    $('a.smooth').click( function (e)
    {
        e.preventDefault();

        var target = this.hash,
        $target = $(target);

        $('html, body').stop().animate({
            'scrollTop': ($target.offset().top - 100)
        }, 900, 'swing', function ()
        {
            window.location.hash = target;
        });
    });
});

编辑:
我刚刚发现了问题 - 我将 a:active 设置为 text-decoration: underline。 请参阅我的 fiddle 以供引用: http://jsfiddle.net/2zcNt/

抱歉,这太明显了。我想我需要睡一觉。

最佳答案

我的猜测是 :visited 伪类的样式带有下划线。您可以通过以下方式更改此设置:

a:visited{
    text-decoration: none;
}

编辑:

在您发布 JSFiddle 之后,我发现问题实际上出在您将 h1 嵌入到 anchor 中。您应该将 anchor 标记嵌入标题中。

已编辑 JSFiddle .请注意 CSS 和以前一样。

关于javascript - onClick 函数删除 :hover pseudo class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22960824/

相关文章:

javascript - 单击 python 中的 javascript 链接?

javascript - jQuery .find 无法正常工作

javascript - Windows 7 IE 11 是否支持无插件视频流

javascript - 使用 JSCS 的所有函数都需要 JSDoc

javascript - 在不使用选项卡的情况下浏览 jQuery 对话框中的不同内容

javascript - 当鼠标悬停在其他元素上时将鼠标悬停在某些元素上

javascript - 用文本交换图像(CSS 或 jQuery?)

jquery - 是否可以让多个jquery插件共享同一个变量?

javascript - 如何限制 jQuery 可选倍数以选择最多 5 个范围?

javascript - 如何使用JavaScript和offsetWidth来排列表格?