我正在使用一个名为Jarvismenu的外部JavaScript库作为我的剔除应用程序菜单,为了使菜单正常工作(单击它们时会折叠/展开父菜单项),需要在加载菜单后执行脚本。
菜单如下所示:
<nav>
<ul data-bind="foreach: reports">
<li>
<a href="#" data-bind="attr: {title: title}"><span class="menu-item-parent" data-bind="text:title"></span></a>
<ul data-bind="foreach: reportItems">
<li>
<a href="#" data-bind="attr: {title: title}, text: title"></a>
</li>
</ul>
</li>
</ul>
</nav>
如何在淘汰赛3.3.0中实现这一目标?
segFault的答案有所帮助,但每次将项目添加到时,afterRender都会正常运行ul
。我要做的是在afterRender函数中检查是否最后一个项目是这样添加的:
functionToCallWhenReportsRendered: function (elements, data) {
if ($('#unorderedListId').children().length === this.myItems().length) {
// Execute handler
}
}
<nav>
<ul id="unorderedListId" data-bind="foreach: { data: reports, afterRender: functionToCallWhenReportsRendered}">
<li>
<a href="#" data-bind="attr: {title: title}"><span class="menu-item-parent" data-bind="text:title"></span></a>
<ul data-bind="foreach: { data: reportItems, afterRender: functionToCallWhenItemsRendered}">
<li>
<a href="#" data-bind="attr: {title: title}, text: title"></a>
</li>
</ul>
</li>
</ul>
</nav>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句