关于ajax加载的三个点jQuery

时间:2010-08-06 18:46:20

标签: javascript jquery jquery-plugins

我使用的是ThreeDots jQuery pulgin,效果很好。我在ajax成功事件中使用它时遇到了麻烦。

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

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

有更好的方法吗?我的做法是否存在根本性的错误?

更新

@Nick,谢谢你的回答。我用过这个,然后又向前迈进了一步。以上内容仍然在内容的每个省略号上重新运行,而不仅仅是新返回的省略号结果。

我现在这样做:

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

1 个答案:

答案 0 :(得分:0)

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

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

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