我正在使用 ThreeDots jQuery pulgin,它工作得很好。我在 ajax 成功事件中使用它时遇到问题。
$.ajax({
type: "POST",
url: 'url',
success: function(value) {
$("#content").append(value);
$(".ellipsis").ThreeDots({max_rows:3});
}
});
我加载一些新数据并将新数据附加到 div (这很好用)。当我从成功事件内部调用 ThreeDots 函数时,大约需要 1 分钟才能工作,并且浏览器在此期间没有响应。新数据中返回了 .ellipsis 跨度。
有更好的方法吗?我的方法有根本性的错误吗?
更新
@Nick,感谢您的回答。我使用了这个,并且更进一步。上面的内容仍然会在内容中的每个省略号上重新运行,而不仅仅是新返回的省略号结果。
我现在这样做:
$(value).appendTo("#content").find('.ellipsis' + document.getElementById('hidPage').value).ThreeDots({max_rows:3});
$("#hidPage").val(($("#hidPage").val()-0) + 1);
最佳答案
您可以仅在返回的响应中的.ellipsis
元素上运行.ThreeDots()
插件,而不是重新运行它在所有上,如下所示:
$.ajax({
type: "POST",
url: 'url',
success: function(value) {
$(value).appendTo("#content").find('.ellipsis').ThreeDots({max_rows:3});
}
});
您无法以相反的方式链接它,因为 .ThreeDots()
不可链接(它返回自定义对象),但上述版本应该可以正常工作。
关于javascript - ajax 加载上的三点 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3426776/