【发布时间】:2011-04-28 18:54:05
【问题描述】:
好吧,这个快把我逼疯了。
我有一个大约 100 行的 html 表。当您将鼠标移到行上方时,我希望行改变颜色。
我试过了:
:悬停在 CSS 中,
javascript 中的 onmouseover/onmouseout 事件
jquery .hover
jquery .mouseover/.mouseout
用 e.target 等鼠标悬停在桌子上
在 Firefox 中运行速度非常快,而在 IE7/IE8 中运行速度非常慢。无论我尝试什么文档类型。但是,如果我完全删除页面的文档类型(怪癖),那么它在 IE 中也非常快!
不幸的是,没有 doctype 对我来说是不可接受的,因为我使用了其他 (jquery ui) 组件,这些组件看起来像 doctype(否则这些在 IE 中会变慢!)
有什么建议吗?
测试:
怪癖模式(在 IE 中快速悬停):http://www.watikwil.nl/test_quirks.html
严格模式(在 IE 中缓慢悬停):http://www.watikwil.nl/test_strict.html
更新: 我发现在 IE 中为悬停行使用背景图像实际上比使用背景颜色更快! 但这仅在使用 :hover 时才有效。 jquery 或 javascript 方法运行不快。它仍然没有 Firefox 快,但我可以接受。
*更新 2: 仍然有问题。在 IE8 中它仍然太慢,尤其是在行上有多个类时(如 JqGrid 所做的那样)*
更新 3: 不知何故,我现在可以使用 IE8 了。禁用了 JqGrid 使用的一些类,不知道这是否有所作为。我正在使用 :hover 和背景图像。 问题是,当我强制页面使用 IE7 标准模式时,它明显更快。但是当我在 IE7 中尝试相同的页面时,它又变得非常慢......真的让我发疯......
【问题讨论】:
-
如果将表格布局设置为固定会发生什么?我不能说我已经观察到这个问题(不管有没有表格)。你有一些测试链接吗?
-
将表格布局设置为固定无济于事......在怪癖模式下要快得多!我尝试使用 DIV 设置表格,这似乎比使用
快得多,但我正在处理的应用程序使用 JqGrid,它使用
我现在添加了一些测试链接,在 IE 中使用 doctype 时悬停要慢得多(严格)
标签: javascript jquery internet-explorer hover doctype