li上的类的字体颜色不会呈现,直到在Chrome中不重点为止

我在jQuery / CSS中遇到了一个非常奇怪的问题,我不确定这里出了什么问题。 考虑这个最简单的例子:

#list li {
    color:#3c6174;
    cursor:pointer;
}

#list li.active {
    color:red;
}

<ul id="list">
    <li class="active"></li>
    <li></li>
    <li></li>
</ul>

$buttons = $("#list li");
$buttons.click(function() {
    $buttons.removeClass("active");
    $(this).addClass("active");
});

在Chrome浏览器中查看代码(小提琴),然后点击其中一个列表按钮。 什么都没发生。 但是,如果您忽略窗口,它会突然激活课程并呈现红色。

它似乎在Firefox中的工作原理应该是这样的:只要列表项被点击,颜色就会切换为红色,而其他颜色会再次变为蓝色。

查看DOM显示该类被删除并添加到clicked元素上,没有任何延迟,所以我不明白为什么它不会立即显示。

这里发生了什么?

PS:在Windows x64上使用33.0.1750.146 m


我认为Chrome的新版本认为,如果标签为空,则不需要重新绘制任何内容,唯一的变化是该类是文本颜色。 在每个元素里面放一个字母,它就可以工作。 或者:放置边框:1px纯红色; 在CSS规则中。 它的工作原理是因为它与元素的框属性有关。

链接地址: http://www.djcxy.com/p/19279.html

上一篇: Font color by classes on li are not rendered until unfocus in Chrome

下一篇: How to make pylint a part of setup.py test process?