代码之家  ›  专栏  ›  技术社区  ›  zgirod

ajax加载上的三点jQuery

  •  1
  • zgirod  · 技术社区  · 15 年前

    我用的是3dotsjquerypulgin,效果很好。我在ajax成功事件中使用它时遇到了问题。

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

    我加载一些新数据并将新数据附加到一个div中(这非常有效)。当我从success事件内部调用ThreeDots函数时,大约需要1分钟才能工作,而浏览器在此期间没有响应。新数据中返回了.省略号范围。

    更新

    @尼克,谢谢你的回答。我用这个,我更进一步。上面的操作仍然会在内容中的每个省略号上重新运行,而不仅仅是新返回的省略号结果。

    我现在这样做:

    $(value).appendTo("#content").find('.ellipsis' + document.getElementById('hidPage').value).ThreeDots({max_rows:3});
    $("#hidPage").val(($("#hidPage").val()-0) + 1);
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Nick Craver    15 年前

    你可以运行 .ThreeDots() 只有 .ellipsis 返回的响应中的元素,而不是重新运行它

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

    .ThreeDots() 不是可链接的(它返回一个自定义对象),但是上面的版本应该可以正常工作。