IE7 - 防止无响应的脚本错误

时间:2012-12-05 09:45:05

标签: javascript jquery

以下代码用作我正在构建的应用程序的可视过滤器。基本上,当用户使用id“filter”在文本框中键入内容时,下面的代码会隐藏那些匹配的代码。

$('#filter').keyup(function() {
        delay(function(){
            $(".patient:not(:contains('" + $('#filter').val() + "'))").fadeOut();
            $(".patient:contains('" + $('#filter').val() + "')").fadeIn();
        }, 300 );
        });

代码在Firefox和Chrome中运行良好,但在IE7中我发现了两件我不喜欢的事情: -

1)所选的div没有fadeOut / In - 它们只是出现.. 2)偶尔,我从IE中得到一个错误,即脚本花费的时间太长而且可能没有响应。

就问题2而言,我已经读过将控制权返回给浏览器(再次使用超时)可能会阻止问题,但我不确定这是否可以使用我的代码或如何做到这一点。

你们可以帮忙吗?

(PS - 作为记录,我必须在我的组织中使用IE7。糟糕,我知道,但我无法做到这一点,以防你的解决方案涉及更改浏览器:))

1 个答案:

答案 0 :(得分:0)

我设法修复它并防止错误。也许我只是问了太多的浏览器,所以我改变了代码如下: -

$('#filter').keyup(function() {
        delay(function(){
            $(".patient").hide();
            $(".patient:contains('" + $('#filter').val() + "')").fadeIn();
        }, 300 );
        });

这现在非常完美。