以下代码用作我正在构建的应用程序的可视过滤器。基本上,当用户使用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。糟糕,我知道,但我无法做到这一点,以防你的解决方案涉及更改浏览器:))
答案 0 :(得分:0)
我设法修复它并防止错误。也许我只是问了太多的浏览器,所以我改变了代码如下: -
$('#filter').keyup(function() {
delay(function(){
$(".patient").hide();
$(".patient:contains('" + $('#filter').val() + "')").fadeIn();
}, 300 );
});
这现在非常完美。