【问题标题】:Remove hover in show/hide with jQuery on div click在 div 单击时使用 jQuery 删除显示/隐藏中的悬停
【发布时间】:2016-03-25 11:19:37
【问题描述】:

我的网站上有脚本:

$(document).ready(function(){
    $("#browse").click(function(){
        $("#navbar-secondary").show();
        $("#navbar-secondary").addClass('animated fadeIn');
    });
});

当我单击 div id="browse" 时,它具有 :hover/:focus css 样式,我想在单击后将其删除。

我该怎么办?

问候!

【问题讨论】:

  • 请发布您的 CSS 和 HTML
  • 代码应该完全格式化并且易于阅读。

标签: jquery css onclick show


【解决方案1】:

如果没有代码,这很难回答,但是您是否要在悬停/焦点上添加一个类?还是您要移除的浏览器伪类焦点?

那么,在您的 css 中,您有 element:focus {},这导致了您的问题?

如果是这样,您可以使用模糊,或者如果按照上面的建议添加了一个类,则删除该类。

【讨论】:

  • 我有伪浏览器类,例如 '.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus'
  • 试试 $(this).focus().blur();
  • 现在它可以工作了,但我必须添加新的 id,因为悬停/焦点效果在 $this>a 上,我该如何在不添加新 id 的情况下做到这一点?
  • '$(this).find("a").focus().blur();' - 有效吗?
【解决方案2】:

你可以使用 removeClass

$("#browse").click(function(){    
            $("#navbar-secondary").show();
            $("#navbar-secondary").addClass('animated fadeIn');
            $(this).removeClass("yourHoverClassName");
        });

【讨论】:

  • 应该是:'$(this).removeClass(":hover :focus");'?
  • @mateuszji 不。您在悬停或聚焦时应用的类名是什么?
  • .navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus - 不同于我的#browse div。
  • 你能帮帮我吗? (;
猜你喜欢
  • 2014-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-08
  • 2012-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多