【发布时间】:2012-02-15 05:15:02
【问题描述】:
我目前正在开发一个使用 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;
}
【问题讨论】:
-
您使用的是哪个版本的 chrome?另外,您是否介意尝试添加/删除类方法以达到相同的效果并查看是否重复
-
你应该发布你的代码......没有它很难说。
-
为什么不添加和删除类而不是添加和删除整个样式属性?
-
你为什么不做
.css('border','2px solid #000')并恢复到.css('border','')? -
代码并没有那么复杂,就是这样:'$(this).css('border', '2px solid black'); $(this).removeAttr('style');'
标签: javascript jquery css