嵌套的可移植动态项未折叠
nestedsortable dynamic item not collapsing
我正在使用这个嵌套的可排序插件mjsarfatti.com/sandbox/nestedSortable,到目前为止,我遇到的唯一问题是,当我动态地将一个项目添加到"树"中时,我无法扩展或折叠该项目。到目前为止,我只是使用示例代码,并添加到其中。
我如何动态添加项目:
$('#new-button').on('click', function() {
var nextId = $('ol.sortable').nestedSortable('nextId');
var $li = $("<li id='"list_" + nextId + "'"><div><span class='"disclose'"><span></span>
</span>New Item</div>");
$li.addClass('mjs-nestedSortable-leaf');
$('ol.sortable').append($li);
})
当我把这些新项目添加到树中时,它们运行得很好——我可以在树中移动它们,让它们成为孩子,等等。然而,当我试图折叠我已经为人父母的新物品时,却没有回应。
我确信我只是没有在某个地方添加正确的事件处理程序,但我不知道发生了什么。我甚至在添加新项目后触发了树的destroy()和_create(),希望这能再次"重新配置"所有项目。然而,那里没有运气。有人能告诉我如何正确地连接这些新的动态创建的项目,以便将它们作为树中的其他项目处理吗?
谢谢!
好的,经过两天的研究,我终于解决了这个问题。有趣的是,我一直在寻找的代码就在我输入的新代码的正上方。(就在我眼皮底下。)感谢这里善良的人向我介绍:视觉事件——这极大地帮助我找到了事件最初创建的地方!
$('#new-button').on('click', function() {
var nextId = $('ol.sortable').nestedSortable('nextId');
//Begin creating dynamic list item
var $li = $("<li id='"list_" + nextId + "'">");
var $lidiv = $("<div></div>");
var $disli = $("<span class='"disclose'"><span></span></span>");
$li.addClass('mjs-nestedSortable-leaf');
//Assign event listener to newly created disclose span tag above
$disli.on('click', function() {
$(this).closest('li').toggleClass('mjs-nestedSortable-collapsed').toggleClass('mjs-nestedSortable-expanded');
});
//Now actually start to append to DOM
$lidiv.append($disli);
$lidiv.append("New List Item " + nextId);
$li.append($lidiv);
$('ol.sortable').append($li);
})
希望这能帮助到一些人。这是一份工作副本,以防你想看到它的实际效果。
相关文章:
- 创建折叠选项卡并动态添加 ID 和指向 jQuery 中 ID 锚点的链接
- 如何在jQuery中动态生成可折叠集
- 如何动态打开折叠的网格
- 在jQuery Mobile中动态创建的可折叠集
- 动态 id 的多级/嵌套展开折叠
- 如何动态更改JQM可折叠的主题
- 可折叠onclick事件中的Jquery Mobile列表没有'动态添加时无法工作
- JQuery Mobile的动态可折叠内容块(通过Spry)未展开
- 嵌套的可移植动态项未折叠
- 如何在php中动态地使用多个引导折叠元素
- Jquery动态折叠列表不起作用;jsfiddle例子
- 动态添加可折叠集和嵌套列表在jQuery移动
- DIV多个动态可折叠
- jqGrid Treegrid在动态加载数据后不展开和折叠行
- 可折叠面板和下拉菜单的动态定位
- Jquery移动动态可折叠内容不采用任何样式
- 具有动态加载内容的可折叠列表
- 在可折叠jquery-mobile中添加可动态过滤的控件
- 希望将展开和折叠功能添加到作为父节点的动态生成的文件中
- JQM-动态地将图像添加到可折叠的标题中