removeClass立即起作用,addClass仅适用于失去焦点

时间:2016-02-22 12:56:54

标签: jquery css

我有一些按钮,允许用户切换页面上元素的可见性。当元素可见时,应突出显示该按钮。

当它变得不可见时,突出显示会根据需要立即消失。但是当它变得可见时,只有当按钮失去焦点时才会出现高亮显示。

if (column.visible()) {            
    $(button).addClass("highlight");
}
else {
    $(button).removeClass("highlight");
}

换句话说,"删除CSS类"有即时效果,但"添加CSS类"才不是。可能会发生什么?

更新: 这里的JSFiddle显示了这种行为:https://jsfiddle.net/f7cwfr3x/7/

1 个答案:

答案 0 :(得分:0)

jsFiddle有效。我没有看到任何问题。

$(button).toggleClass("highlight", column.visible());

首次单击时,column.visible()返回false,高亮类将被删除。当您再次单击该按钮时,column.visible()== true - 将添加突出显示类。

尽管如此,我建议不要使用 -webkit-focus-ring-color 大纲,因为大部分时间不支持浏览器,除了webkit。