jquery - removeClass 立即生效,addClass 仅在失去焦点时生效

标签 jquery css

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

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

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

换句话说,“删除 CSS 类”具有立竿见影的效果,但“添加 CSS 类”则没有。这里可能发生了什么?

更新: 这是显示此行为的 JSFiddle:https://jsfiddle.net/f7cwfr3x/7/

最佳答案

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

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

当您第一次点击时,column.visible() 返回 false,高亮类被移除。当您第二次单击该按钮时,column.visible()==true - 添加了高亮类。

不过,我不建议使用 -webkit-focus-ring-color 大纲,因为大多数浏览器不支持它,webkit 除外。

关于jquery - removeClass 立即生效,addClass 仅在失去焦点时生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35554333/

相关文章:

javascript - 如何检查 javascript 函数是否准备就绪/完成 (jQuery)

javascript - 创建对象时的_colorIndex和_symbolIndex

javascript - 删除 url 中的最后一个元素

javascript - 使用 jQuery 触发 css 悬停

css - 使用 Data URI SVG 作为 CSS 背景图片

jquery - 如何禁用 jquery 可拖动对象上的文本选择?

visual-studio-2010 - 为什么 CSS 编辑器不起作用?

html 在每个表格行旁边放置一个链接

html - 全宽导航

html - 行内 block DIV 元素之间的额外空间