2

我正在使用 twitter bootstrap 和 jquery 来实现 RWD。复选框在 chrome/firefox 中响应良好。但在 IE8 中,复选框响应需要几秒钟,即单击复选框需要几秒钟才能检查

4

2 回答 2

2

这是因为使用 jquery-1.8.1 版本而发生的。如果我使用 jquery-1.8.3 版本,复选框的渲染很好,而且速度也很快。

于 2013-02-04T07:45:40.587 回答
1

我也发现了这一点,并确定了原因。

首先,您需要一个包含大量 DOM 元素的大页面。在我的示例中,我有一个包含 10 列和 100 行的表格,每个单元格也包含 1 或 2 个元素。

如果您分析它的缓慢性,则表明它在 jQuery 本身内。正在发生的事情是在引导程序中有很多 .live() 和 .delegate() (错误,它们的“.on”等价物)调用,并且 jQuery 必须处理事件并运行选择器过滤器以确定是否有任何需要调用处理程序。对我来说,单击一个复选框会导致这种情况发生 17 次,而且在 IE8 中它只是狗慢(实际 IE8,而不是 IE9 中的 IE8 兼容模式,请注意,存在巨大差异)。

确实没有解决方法或修复方法,拥有这些处理程序只是引导程序的性质,而 IE8 的性质是缓慢过滤。

您可以通过优化页面大小并仅包含您真正需要的引导程序方面来改进事情。

于 2013-02-15T19:28:21.653 回答