检查何时创建新元素

时间:2012-11-29 20:39:48

标签: javascript html css

我有div.scrollContainer我插入了一堆项目。当页面加载时,我运行mCustomScrollbar jQuery插件,该插件将获取div.scrollContainer内的项目并围绕它包装自己的类/ css / js以创建自定义滚动条。

当页面加载时,我会浏览我自己的库,它会输出更多项目供我注入滚动条。我目前正在将它们定位/附加到mCustomScrollbar创建的自定义类。但问题是,有时我的库在mCustomScrollbar创建其类之前输出项目。因此,库中的项永远不能放在正确的元素中,因为它不存在。

我考虑过将库中的项目附加到div.scrollContainer,但是如果mCustomScrollbar在附加项目之前创建了它的类,我会遇到这样的问题。

总而言之,我想知道是否有办法检测DOM中何时创建新元素。我调查了另一个thread,建议使用livequery插件。我想知道是否有一个不需要额外插件的解决方案。

2 个答案:

答案 0 :(得分:1)

您可以在插入最后一项后调用.mCustomScrollbar(),这样您就可以确定这些项目是真的插入了:

$(".your-container").append($(".your-items"));
$("div.scrollContainer").mCustomScrollbar();

答案 1 :(得分:0)

使用updateOnContentResize:true设置,它将每隔几毫秒检查一次新内容。 启动插件时,还要在其他设置中添加以下内容: $(选择).mCustomScrollbar({ 高级:{     updateOnContentResize:true } });

然而!我个人反对无用的DOM每隔几毫秒遍历一次,我建议你使用它的原生更新方法。 找到一种方法来了解何时向滚动条标记添加更多内容,并在需要时运行此内容: $(选择器).mCustomScrollbar( “更新”);

P.S。阅读其文档,许多有用的设置/方法。

希望这会有所帮助:)