上次老大说两级树,现在说要搞成支持N级的,
整理了一下例子和思路,
树节点的移动需要删除它的相关节点,具体如下:
1.如果移动没有子节点的节点。那么他需要向上递归它的树结构。
2.如果移动上有父节点,下有子节点的节点的节点要向下和向上分别递归树结构
3.如果只有子节点没有父节点那么只需向下递归就行了。
期间还有一些小细节,比如:如果同级节点进行移动的时候那么只要找到父节点就可以进行插入操作,如果是插入的是一个节点已经存在需要补充的只是他的子节点那么只要找到他自己就可以进行插入子节点了。类似的可能还很多。我再程序作了一部分的处理,可能还有不足请大家指出来。
缺陷是:
1.store中有个allitem的数组可以看到他的长度很长,因为每次移动的节点都是重新申请的数组空间,这个数组移动之后是不连续的。不适用于数据量很大的数组;
2.deleteItem的操作并不是把数组进行重新整合,而只是把原来的位置置空。
3.如果把节点全部移空,点击空树为报空指针。这是dojo框架的问题。
分享到:
相关推荐
【基于Dojo的动态树】是一种使用JavaScript库Dojo Toolkit创建的交互式树形结构,常用于展现层次化的数据或导航菜单。Dojo Toolkit是一个功能强大的JavaScript库,它提供了多种UI组件,包括Tree组件,可以方便地在...
dojo异步树.js 实现异步加载节点功能
- **灵活性**:除了通过ID查找DOM节点外,`dojo.byId()`还支持直接传递DOM节点作为参数,此时将直接返回该节点。 #### 实际应用案例 1. **修改DOM元素内容** 假设我们需要修改页面上某个元素的内容,可以利用`...
对于二级菜单,我们可以将二级菜单项作为`PopupMenuItem`的子节点。 3. **关联菜单和触发元素**:为了让二级菜单在一级菜单项被点击时显示,我们需要将二级菜单关联到相应的菜单项。这可以通过设置`popup`属性来...
和前一个树形菜单 大多数例子是基于 PHP 的 发现很多 dojo 学者想下载 dojo 的API…… 结论是:下不到的! 发现很多想下载一些帮助例子,在http://download.dojotoolkit.org/ 下才能找到,进去点版本,比如 ...
【Dojo树实例详解】 Dojo是一个强大的JavaScript库,它为Web开发提供了丰富的工具和功能,包括构建用户界面、处理数据、实现动画效果等。在Dojo中,树(Tree)组件是一个常用的UI元素,常用于展示层级结构的数据。...
Dojo Toolkit中的Dijit库包含了诸如Tree(树形结构)这样的复杂组件,适用于展示层级关系的数据。在Struts2与Dojo整合时,通常会使用Struts2的dojo-plugin来处理JSON数据,以实现Dojo组件与后台的通信。 然后,...
### Dojo框架中DOM树操作相关API解析 在现代Web开发中,DOM(Document Object Model)树是网页结构的核心组成部分,而Dojo框架提供了一系列强大的API来操作DOM元素,极大地简化了开发者的编码过程。本文将详细介绍...
Dojo 是一个强大的JavaScript工具库,它为Web开发提供了丰富的功能和组件,涵盖了从DOM操作、事件处理到AJAX通信等多个方面。Dojo的核心在于它的模块化系统,这使得开发者可以按需加载代码,提高应用的性能和可维护...
例如,可以通过自定义模板来改变节点的显示方式,使用`dojo/on`模块监听节点点击事件,或者使用Dojo的`dojo/aspect`模块来增强功能。同时,注意性能优化,避免一次性加载大量数据,利用Dojo的异步加载机制。 最后,...
dojo异步树js
<<Dojo的高级运用:Widget的制作>> 和 使用Dojo和JSON构建Ajax应用>> 中涉及到的源代码 博文链接:https://tailsherry.iteye.com/blog/102907
dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档
`dojo.dom` 模块则提供了操作 DOM(文档对象模型)节点的方法,如查找、创建、修改和删除元素。 `dojo.event` 以及 `dojo.event.topic` 和 `dojo.event.browser` 是事件管理和发布订阅模式的实现。`dojo.event` ...
dojo js dojo js dojo js dojo js dojo js dojo js dojo js
dojo Tree提供了`selectNode`方法,使得用户可以通过代码或者用户交互来选择特定的树节点。此外,dojo Tree还支持多选模式,用户可以通过设置`allowMultiple`属性来启用。 在实际应用中,我们可以结合dojo Tree的...
Dojo是一个非常强大的、面向对象的、开源的JavaScript工具箱,它为开发富客户端Ajax应用提供了一套完整的小部件和一些特效操作。曾经有人这样说:“对于一个Web开发者而言,如果没有Dojo,他将是一个“残废”的...