【发布时间】:2009-02-05 17:11:43
【问题描述】:
我有一个简单的页面,它由一个包含三个jQuery UI progressbars 的表和一个ajax 调用组成。
ajax 调用一个空的 php 文件,成功后我销毁并重新创建我的进度条。
它看起来很简单,但运行它会导致IE7 和Chrome 中的内存泄漏(尽管 Chrome 处理得更优雅)。
这是我的代码:
<script type="text/javascript" src="jQuery/js/jquery-1.3.1.js"></script>
<script type="text/javascript" src="jQuery/js/plugins/jquery-ui-1.6rc4.min.js"></script>
<link rel="stylesheet" type="text/css" href="jQuery/css/ui.all.css" />
<script type="text/javascript">
$(function(){
timed();
});
function timed()
{
$.ajax({
url: "index.php",
success: function(msg){
$(".progressbar").progressbar("destroy").progressbar();
}
});
setTimeout("timed()",1000);
}
<table>
<tbody>
<tr>
<td>
<div class="progressbar"></div>
</td>
<td>
<div class="progressbar"></div>
</td>
<td>
<div class="progressbar"></div>
</td>
</tr>
</tbody>
对我在这里缺少的东西有什么想法吗?
我尝试在我的 Success 函数中的 $(".progressbar") 行之前添加 $("*").unbind();。
【问题讨论】:
标签: jquery ajax jquery-ui memory-leaks jquery-ui-progressbar