jQuery 类在鼠标退出链接后被删除

标签 jquery css twitter-bootstrap

我在已经选择了类的导航菜单中添加了一个名为“active”的类。当我单击主菜单项或元素菜单项时,类被添加,但是当我从菜单上的链接上移开鼠标时,类被删除。我正在使用 Twitter Bootstrap 框架,所以我不知道这种行为是因为我的代码还是因为 Bootstrap 代码。只要“选定”的其他类(class)存在,我如何让该类(class)留在链接上?感谢您的帮助。

jQuery

$('#nav_14623').addClass('nav');
$('#nav_14623').addClass('nav-pills');
$('#nav_14623 li.selected').addClass('active');

与之相关的css(据我所知):

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #ffffff;
background-color: #428bca;
}

网站链接:http://jshub.designangler.com

最佳答案

问题出在 Java_DynMenusSelectedCSS.js 第 49 - 52 行:

if (val)
    this.className = val + " selected";
else
    this.className = "selected";

问题是,如果您的导航丸有任何其他类(例如“active”),一旦鼠标移出,className 属性将设置为“selected”,从而删除额外的类.

这是该代码的替代方案:

if (val)
    this.className = val + " " + this.className;
else
    this.className = this.className.replace(val, "");

我不确定你从哪里得到这段代码,但那里甚至有一条评论提到了这个问题。

关于jQuery 类在鼠标退出链接后被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18771890/

相关文章:

html - 为什么我编辑表单长度的位置会阻止我在表单中输入信息?

javascript - 更新多个进度条

javascript - 动态创建的元素上的事件绑定(bind)?

javascript - CSS 变换破坏鼠标位置事件

html - 如何将 <select> 限制为其父 div 的宽度?

html - 强制光标 :pointer for link in a div with contenteditable attribute in IE

javascript - 为什么 jQuery 文件上传在第一次上传后停止工作?

javascript - 如何在单选按钮的 'checked' 属性上调用 javascript 函数?

html - CSS 在 jQuery 拖放后没有正确更新,但在 Inspector 中可以

html - 为什么不为 IE7+ 使用 col-sm-6