jsTree是基于javascript的一个跨浏览器树控件,功能强 大,而且是免费的。
1、支持基于HTML定义、Json、XML方式加载树节点
2、支持拖放,动态增加、删除、重命名树节点
3、支持复选框
4、支持复制、剪切、粘贴树节点,动态刷新树
5、提供足够的回调方法:
beforechange: function() { log("About to change"); return true },
beforeopen : function() { log("About to open"); return true },
beforeclose : function() { log("About to close"); return true },
beforemove : function() { log("About to move"); return true },
beforecreate: function() { log("About to create"); return true },
beforerename: function() { log("About to rename"); return true },
beforedelete: function() { log("About to delete"); return true },
onselect : function() { log("Select"); },
ondeselect : function() { log("Deselect"); },
onchange : function() { log("Focus changed"); },
onrename : function() { log("Rename"); },
onmove : function() { log("Move"); },
oncopy : function() { log("Copy"); },
oncreate : function() { log("Create"); },
ondelete : function() { log("Delete"); },
onopen : function() { log("Open"); },
onopen_all : function() { log("Open ALL"); },
onclose : function() { log("Close"); },
error : function() { },
ondblclk : function() { log("Doubleclick"); TREE_OBJ.toggle_branch.call(TREE_OBJ, NODE); TREE_OBJ.select_branch.call(TREE_OBJ, NODE); },
onrgtclk : function() { log("Rightclick"); },
onload : function() { log("Tree loaded"); },
onfocus : function() { log("Tree got focus"); },
ondrop : function() { log("Foreign node dropped"); }
6、此外,还提供了详细的使用文档
jsTree is a javascript based, cross browser tree component. It uses jQuery and Sarissa (optionally). jsTree is absolutely free (licensed same as jQuery - under both GPL and MIT - whichever suits your needs).
Currently supported browsers are: Internet Explorer 6 +, Mozilla Firefox, Safari 3, Opera 9+, Google Chrome. The latter three are not thoroughly tested. jsTree may also work with other browsers - please drop me a note if you performed some tests.
Key features- Data sources:
- predefined HTML - convert nested lists into a tree on the fly
- JSON - provide a json object
- XML - provide a nested structure or a flat (id -> parent_id) one
- Async loading - just provide an URL and the tree will request data as needed (works for XML & JSON sources)
- Open, close, rename, create, delete nodes (all with definable rules)
- Various callbacks (onchange, oncreate, ondelete, onload, etc …)
- Drag & drop support (definable with rules)
- Multiple select
- Localization - maintain the same tree in as many languages as you like
- Right-to-left support (supported in both supplied themes)
- Theme support (change icons, sizes, backgrounds, etc …)
- Animated open & close (configurable)
- Optional keyboard navigation
- multitree support - move/copy nodes form to tree to tree (definable with rules)
- also works as a jQuery plugin
下载地址:http://code.google.com/p/jstree/
文 档:http://jstree.com/reference/_documentation/1_files.html
例 子:http://jstree.com/reference/_examples/1_datasources.html