Javascript 如何使链接返回其正常(非活动)状态?

Javascript 如何使链接返回其正常(非活动)状态?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,想法很简单: 将鼠标悬停时的li背景色更改为一种颜色 ul#menu li a:hover {...} 在鼠标按下时将其更改为其他颜色 ul#menu li a:active {...} 如果链接既没有悬停也没有按下,则将颜色恢复为原始颜色(正常) 问题似乎是,如果用户拒绝了他的意图,并让鼠标离开链接,则背景色保持不变,就好像它被按下一样(即a:active) 因此,看起来链接处于“活动”状态,即使在用户释放鼠标按钮后仍保持活动状态 编辑 这是我在海报的帮助下想到的,海报试图回答这个问题

想法很简单:

  • 将鼠标悬停时的li背景色更改为一种颜色

    ul#menu li a:hover {...}
    
  • 在鼠标按下时将其更改为其他颜色

    ul#menu li a:active {...}
    
  • 如果链接既没有悬停也没有按下,则将颜色恢复为原始颜色(正常)

  • 问题似乎是,如果用户拒绝了他的意图,并让鼠标离开链接,则背景色保持不变,就好像它被按下一样(即
    a:active

    因此,看起来链接处于“活动”状态,即使在用户释放鼠标按钮后仍保持活动状态

    编辑

    这是我在海报的帮助下想到的,海报试图回答这个问题:请比较一下这些小提琴:

  • 不同之处在于所需的小提琴没有
    href
    。只要添加
    href
    ,链接就开始表现为不符合要求。它们都使用:

    a:link {color:#FF0000;}      /* unvisited link */
    a:visited {color:#FF0000;}  /* visited link */
    a:hover {color:#FF00FF;}  /* mouse over link */
    a:active {color:#0000FF;}  /* selected link */
    

  • 当然,我的html中设置了
    href
    ,那么如何实现Fiddle#1行为呢


    因此,看起来仅仅使用html和css是不可能的。使用java脚本有什么解决方法吗?

    我已经尝试过了,所有的都可以使用,您也需要访问链接的规则,并将其设置为默认的未访问链接


    我已经尝试过了,所有这些都很有魅力,你们也需要访问链接的规则,并将其设置为默认的未访问链接


    我从您的需求中了解到,我将此归功于JSFIDLE

    请查看演示


    我从您的需求中了解到,我将此归功于JSFIDLE

    请查看演示


    +1:虽然我认为你的小提琴可以发挥我所需要的作用,但我无法让我的示例也发挥作用……我会继续尝试,也许你在css中遗漏了一些规则,尝试从零开始一步一步地构建它谢谢!这四条规则确实存在。很好的建议,我会尝试。我已经找到了为什么它不起作用,或者更确切地说是为什么你的小提琴起作用了:只要添加了
    href
    ,链接就会按要求停止工作:对不起,但是我如何改进“不起作用”的小提琴,使其与你发布的原始小提琴一样工作?+1:尽管我看到你的小提琴按我的需要工作,我不能让我的例子也起作用…我会继续尝试也许你错过了css中的一些规则,尝试从零开始一步一步地构建它谢谢!这四条规则确实存在。很好的建议,我会尝试。我已经找到了为什么它不起作用,或者更确切地说是为什么你的小提琴起作用了:只要添加
    href
    ,链接就会按需要停止工作:对不起,但是我如何改进“不起作用”的小提琴,使其与原来的一样起作用,由您发布?不使用href散列黑字体的区别是因为规则a:link与href标记一起工作。不使用href散列黑字体的区别是因为规则a:link与href标记一起工作。@KonstantinVasilcov,现在您的更新答案看起来很好我:)@KonstantinVasilcov,现在您的更新答案看起来很好我:)