我目前正在开发一个表应用程序,该应用程序使用 jQuery 在 javascript 中大量编码。
当您单击 td 单元格时,jQuery 会将 2px 纯黑色推送到边框属性。然后,在模糊时,我使用removeAttr删除样式属性,使其恢复为样式表设置。在 IE9 中工作正常,但当我在 Chrome 中测试它时,左边框调整大小,但保持黑色。
似乎唯一可以摆脱这个问题的是打开控制台。当我打开控制台进行模糊处理时,样式标签会被删除,所以我不明白为什么它仍然在左侧呈现黑色边框。有什么想法吗?
编辑:我制作了一个视频来展示我遇到的问题。 http://www.youtube.com/watch?v=JCmYNOO5u4I
代码如下:
$("td.display").live('mouseenter', function () {
$(this).addClass('selected');
}).live('mouseleave', function () {
$(this).removeClass('selected');
});
CSS 是:
table TD.selected {
border: 2px solid;
border-color: Black;
}
最佳答案
不要使用 $.removeAttr
,而是使用 $.css
来恢复 CSS。由于 CSS 持续存在的方式,$.removeAttr
很可能无法正常工作。
你真正应该做的是add a class聚焦,然后remove that class上模糊。即 $.addClass
和 $.removeClass
,记录在各自的链接中。
关于javascript - Chrome 中的问题,使用 jQuery 删除 CSS 仍保留在 Chrome 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9237864/