JQuery document.ready只在IE7中多次触发

时间:2012-07-26 14:29:19

标签: jquery internet-explorer-7

我正在使用jQuery(v 1.7.1)并且需要我正在运行的ui代码在IE7中工作。在所有现代浏览器中都没问题,IE8也很好。

问题似乎是文档准备好多次触发,并导致性能问题。这似乎也是网站上各个页面的问题,JS代码复杂程度各不相同。我已经读过异常会导致这种行为,但我不相信异常是问题(通过一些全局异常捕获代码验证)。

$(document).ready(function () {

    alert('doc ready');

    do stuff....
});

以上代码导致我在UI冻结之前多次看到“doc ready”警告。

这是jQuery中的一个已知问题,有没有办法解决IE7?

由于

更新...尝试隔离问题,我已经用最简单的页面进行了测试,这个简单的页面无法重现问题......

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Test JQUery IE7</title>

    <script type="text/javascript" src="/Scripts/jquery-1.7.1.min.js"></script>

</head>
    <body>

        <script type="text/javascript">

        $(document).ready(function() {

            alert('doc ready...');

        });

        </script>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

问题实际上是$(window).resize函数,似乎在IE7中更频繁地触发。当然,IE7只是在每个事件上运行面向UI的JS时更加努力。

设置计时器/间隔以限制事件处理的频率解决了问题