2010-08-06 118 views
1

我使用ThreeDots jQuery pulgin,它工作得很好。我在使用ajax成功事件时遇到了麻烦。三个点jQuery上ajax负载

$.ajax({ 
    type: "POST", 
    url: 'url', 
    success: function(value) { 
     $("#content").append(value); 
     $(".ellipsis").ThreeDots({max_rows:3}); 
    } 
}); 

我加载一些新的数据,并将新数据追加到一个div(这很好)。当我从成功事件中调用ThreeDots函数时,需要大约1分钟的时间才能工作,并且浏览器在此期间没有响应。新数据中有返回的.ellipsis跨度。

有没有更好的方法来做到这一点?我的方法有什么根本错误吗?

感谢您的任何帮助。

更新8-7-2010。

@Nick,谢谢你的回答。我用这个,我更进一步。以上内容仍然在内容中的每个省略号上重新出现,而不仅仅是新返回的省略号结果。

我现在这样做:

$(value).appendTo("#content").find('.ellipsis' + document.getElementById('hidPage').value).ThreeDots({max_rows:3}); 
$("#hidPage").val(($("#hidPage").val()-0) + 1); 

回答

0

您可以运行,而不是.ThreeDots()插件仅在返回的响应.ellipsis元素,再运行它他们的所有,就像这样:

$.ajax({ 
    type: "POST", 
    url: 'url', 
    success: function(value) { 
     $(value).appendTo("#content").find('.ellipsis').ThreeDots({max_rows:3}); 
    } 
}); 

你不能IT连锁,因为.ThreeDots()不是可链接(它返回一个自定义对象)的反向方式,但一Bove版本应该可以正常工作。