提交 367ee2bf 编写于 作者: Z ztree

add 'onDragMove' callback & change the event in 'onCheck' callback

上级 451511c9
jQuery Tree Plugin ---- zTree jQuery Tree Plugin ---- zTree
============ ============
last verson : 3.5.16-beta.2 last verson : 3.5.16-beta.3
**Donate to zTree** : http://www.ztree.me/v3/donate.php **Donate to zTree** : http://www.ztree.me/v3/donate.php
......
...@@ -58,7 +58,7 @@ var apiContent = { ...@@ -58,7 +58,7 @@ var apiContent = {
onNodeCreated: this.onNodeCreated, onNodeCreated: this.onNodeCreated,
beforeClick: this.beforeClick beforeClick: this.beforeClick
} }
} };
var setting_nodes =[ var setting_nodes =[
{id:1, pId:0, t:"setting", name:"var setting = {", open:true}, {id:1, pId:0, t:"setting", name:"var setting = {", open:true},
{id:11, pId:1, t:"treeId", name:"treeId : \"\",", iconSkin:"core", showAPI:true}, {id:11, pId:1, t:"treeId", name:"treeId : \"\",", iconSkin:"core", showAPI:true},
...@@ -99,8 +99,9 @@ var apiContent = { ...@@ -99,8 +99,9 @@ var apiContent = {
{id:3017, pId:30, t:"onCheck", name:"onCheck : null,", iconSkin:"check", showAPI:true}, {id:3017, pId:30, t:"onCheck", name:"onCheck : null,", iconSkin:"check", showAPI:true},
{id:3018, pId:30, t:"onClick", name:"onClick : null,", iconSkin:"core", showAPI:true}, {id:3018, pId:30, t:"onClick", name:"onClick : null,", iconSkin:"core", showAPI:true},
{id:3019, pId:30, t:"onCollapse", name:"onCollapse : null,", iconSkin:"core", showAPI:true}, {id:3019, pId:30, t:"onCollapse", name:"onCollapse : null,", iconSkin:"core", showAPI:true},
{id:3019, pId:30, t:"onDblClick", name:"onDblClick : null,", iconSkin:"core", showAPI:true}, {id:3029, pId:30, t:"onDblClick", name:"onDblClick : null,", iconSkin:"core", showAPI:true},
{id:3020, pId:30, t:"onDrag", name:"onDrag : null,", iconSkin:"edit", showAPI:true}, {id:3020, pId:30, t:"onDrag", name:"onDrag : null,", iconSkin:"edit", showAPI:true},
{id:3030, pId:30, t:"onDragMove", name:"onDragMove : null,", iconSkin:"edit", showAPI:true},
{id:3021, pId:30, t:"onDrop", name:"onDrop : null,", iconSkin:"edit", showAPI:true}, {id:3021, pId:30, t:"onDrop", name:"onDrop : null,", iconSkin:"edit", showAPI:true},
{id:3022, pId:30, t:"onExpand", name:"onExpand : null,", iconSkin:"core", showAPI:true}, {id:3022, pId:30, t:"onExpand", name:"onExpand : null,", iconSkin:"core", showAPI:true},
{id:3023, pId:30, t:"onMouseDown", name:"onMouseDown : null,", iconSkin:"core", showAPI:true}, {id:3023, pId:30, t:"onMouseDown", name:"onMouseDown : null,", iconSkin:"core", showAPI:true},
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<p></p> <p></p>
<div class="longdesc"> <div class="longdesc">
<p>用于捕获节点被拖拽的事件回调函数</p> <p>用于捕获节点被拖拽的事件回调函数</p>
<p class="highlight_red">如果设置了 setting.callback.beforeDrag 方法,且返回 false,将无法触发 onDrag 事件回调函数。</p> <p class="highlight_red">如果设置了 setting.callback.beforeDrag 方法,且返回 false,将无法触发 onDragMove 和 onDrag 事件回调函数。</p>
<p>默认值:null</p> <p>默认值:null</p>
</div> </div>
</div> </div>
......
<div class="apiDetail">
<div>
<h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDragMove</h2>
<h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
<div class="desc">
<p></p>
<div class="longdesc">
<p>用于捕获节点被拖拽过程中移动的事件回调函数</p>
<p class="highlight_red">主要用于捕获 zTree 节点拖拽到的 DOM,从而操作对应的 DOM。</p>
<p>默认值:null</p>
</div>
</div>
<h3>Function 参数说明</h3>
<div class="desc">
<h4><b>event</b><span>js event 对象</span></h4>
<p>标准的 js event 对象</p>
<h4 class="topLine"><b>treeId</b><span>String</span></h4>
<p>被拖拽的节点 treeNodes 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
<h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
<p>要被拖拽的节点 JSON 数据集合</p>
</div>
<h3>setting & function 举例</h3>
<h4>1. 拖拽节点时,随时输出 当前拖拽到的目标 DOM</h4>
<pre xmlns=""><code>function zTreeOnDragMove(event, treeId, treeNodes) {
console.log(event.target);
};
var setting = {
callback: {
onDragMove: zTreeOnDragMove
}
};
......</code></pre>
</div>
</div>
\ No newline at end of file
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<p></p> <p></p>
<div class="longdesc"> <div class="longdesc">
<p>Used to capture the drag event when drag node.</p> <p>Used to capture the drag event when drag node.</p>
<p class="highlight_red">If you set 'setting.callback.beforeDrag',and return false, zTree will stop drag, and will not trigger the 'onDrag' callback.</p> <p class="highlight_red">If you set 'setting.callback.beforeDrag',and return false, zTree will stop drag, and will not trigger the 'onDragMove' & 'onDrag' callback.</p>
<p>Default: null</p> <p>Default: null</p>
</div> </div>
</div> </div>
......
<div class="apiDetail">
<div>
<h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDragMove</h2>
<h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
<div class="desc">
<p></p>
<div class="longdesc">
<p>Used to capture the drag-move event when drag & drop node.</p>
<p class="highlight_red">Mainly used to capture the DOM which the nodes was drag in. </p>
<p>Default: null</p>
</div>
</div>
<h3>Function Parameter Descriptions</h3>
<div class="desc">
<h4><b>event</b><span>js event Object</span></h4>
<p>event Object</p>
<h4 class="topLine"><b>treeId</b><span>String</span></h4>
<p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the treeNodes are belong to, easy for users to control.</p>
<h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
<p>A collection of the nodes which will be dragged</p>
</div>
<h3>Examples of setting & function</h3>
<h4>1. When drag nodes, output the target dom.</h4>
<pre xmlns=""><code>function zTreeOnDragMove(event, treeId, treeNodes) {
console.log(event.target);
};
var setting = {
callback: {
onDragMove: zTreeOnDragMove
}
};
......</code></pre>
</div>
</div>
\ No newline at end of file
...@@ -32,6 +32,22 @@ ...@@ -32,6 +32,22 @@
innerTree: function(treeId, treeNodes, targetNode) { innerTree: function(treeId, treeNodes, targetNode) {
return targetNode!=null && targetNode.isParent && targetNode.tId == treeNodes[0].parentTId; return targetNode!=null && targetNode.isParent && targetNode.tId == treeNodes[0].parentTId;
}, },
dragMove: function(e, treeId, treeNodes) {
var p = null, pId = 'dom_' + treeNodes[0].pId;
if (e.target.id == pId) {
p = $(e.target);
} else {
p = $(e.target).parent('#' + pId);
if (!p.get(0)) {
p = null;
}
}
$('.domBtnDiv .active').removeClass('active');
if (p) {
p.addClass('active');
}
},
dropTree2Dom: function(e, treeId, treeNodes, targetNode, moveType) { dropTree2Dom: function(e, treeId, treeNodes, targetNode, moveType) {
var domId = "dom_" + treeNodes[0].getParentNode().id; var domId = "dom_" + treeNodes[0].getParentNode().id;
if (moveType == null && (domId == e.target.id || $(e.target).parents("#" + domId).length > 0)) { if (moveType == null && (domId == e.target.id || $(e.target).parents("#" + domId).length > 0)) {
...@@ -171,6 +187,7 @@ ...@@ -171,6 +187,7 @@
callback: { callback: {
beforeDrag: MoveTest.dragTree2Dom, beforeDrag: MoveTest.dragTree2Dom,
onDrop: MoveTest.dropTree2Dom, onDrop: MoveTest.dropTree2Dom,
onDragMove: MoveTest.dragMove,
onMouseUp: MoveTest.dom2Tree onMouseUp: MoveTest.dom2Tree
}, },
view: { view: {
...@@ -201,6 +218,7 @@ ...@@ -201,6 +218,7 @@
.domBtn {display:inline-block;cursor:pointer;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#FFE6B0} .domBtn {display:inline-block;cursor:pointer;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#FFE6B0}
.domBtn_Disabled {display:inline-block;cursor:default;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#DFDFDF;color:#999999} .domBtn_Disabled {display:inline-block;cursor:default;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#DFDFDF;color:#999999}
.dom_tmp {position:absolute;font-size:12px;} .dom_tmp {position:absolute;font-size:12px;}
.active {background-color: #93C3CF}
</style> </style>
</HEAD> </HEAD>
...@@ -215,7 +233,7 @@ ...@@ -215,7 +233,7 @@
<ul class="info"> <ul class="info">
<li class="title"><h2>实现方法说明</h2> <li class="title"><h2>实现方法说明</h2>
<ul class="list"> <ul class="list">
<li>zTree v3.2 版本修正了 onDrag/onDrop 中的 event 对象因此可以较容易的控制将节点拖拽到其他 DOM </li> <li>zTree v3.2 版本修正了 onDrag/onDrop 中的 event 对象; v3.5.16 版本增加了 onDragMove; 因此可以较容易的控制将节点拖拽到其他 DOM </li>
<li class="highlight_red">将其他 DOM 拖拽到 zTree 需要自己制作相关的拖拽代码</li> <li class="highlight_red">将其他 DOM 拖拽到 zTree 需要自己制作相关的拖拽代码</li>
<li class="highlight_red">这仅仅是一个最简单的演示,如果需要更炫的效果,需要制作更复杂的代码</li> <li class="highlight_red">这仅仅是一个最简单的演示,如果需要更炫的效果,需要制作更复杂的代码</li>
</ul> </ul>
......
...@@ -32,6 +32,22 @@ ...@@ -32,6 +32,22 @@
innerTree: function(treeId, treeNodes, targetNode) { innerTree: function(treeId, treeNodes, targetNode) {
return targetNode!=null && targetNode.isParent && targetNode.tId == treeNodes[0].parentTId; return targetNode!=null && targetNode.isParent && targetNode.tId == treeNodes[0].parentTId;
}, },
dragMove: function(e, treeId, treeNodes) {
var p = null, pId = 'dom_' + treeNodes[0].pId;
if (e.target.id == pId) {
p = $(e.target);
} else {
p = $(e.target).parent('#' + pId);
if (!p.get(0)) {
p = null;
}
}
$('.domBtnDiv .active').removeClass('active');
if (p) {
p.addClass('active');
}
},
dropTree2Dom: function(e, treeId, treeNodes, targetNode, moveType) { dropTree2Dom: function(e, treeId, treeNodes, targetNode, moveType) {
var domId = "dom_" + treeNodes[0].getParentNode().id; var domId = "dom_" + treeNodes[0].getParentNode().id;
if (moveType == null && (domId == e.target.id || $(e.target).parents("#" + domId).length > 0)) { if (moveType == null && (domId == e.target.id || $(e.target).parents("#" + domId).length > 0)) {
...@@ -170,6 +186,7 @@ ...@@ -170,6 +186,7 @@
callback: { callback: {
beforeDrag: MoveTest.dragTree2Dom, beforeDrag: MoveTest.dragTree2Dom,
onDrop: MoveTest.dropTree2Dom, onDrop: MoveTest.dropTree2Dom,
onDragMove: MoveTest.dragMove,
onMouseUp: MoveTest.dom2Tree onMouseUp: MoveTest.dom2Tree
}, },
view: { view: {
...@@ -200,6 +217,7 @@ ...@@ -200,6 +217,7 @@
.domBtn {display:inline-block;cursor:pointer;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#FFE6B0} .domBtn {display:inline-block;cursor:pointer;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#FFE6B0}
.domBtn_Disabled {display:inline-block;cursor:default;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#DFDFDF;color:#999999} .domBtn_Disabled {display:inline-block;cursor:default;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#DFDFDF;color:#999999}
.dom_tmp {position:absolute;font-size:12px;} .dom_tmp {position:absolute;font-size:12px;}
.active {background-color: #93C3CF}
</style> </style>
</HEAD> </HEAD>
...@@ -214,7 +232,7 @@ ...@@ -214,7 +232,7 @@
<ul class="info"> <ul class="info">
<li class="title"><h2>Explanation of implementation method</h2> <li class="title"><h2>Explanation of implementation method</h2>
<ul class="list"> <ul class="list">
<li>zTree v3.2 modified the event object in onDrag/onDrop, thus the nodes can be draged to other DOMs easily.</li> <li>zTree v3.2 modified the event object in onDrag/onDrop; v3.5.16 add the onDragMove callback, thus the nodes can be draged to other DOMs easily.</li>
<li class="highlight_red">To drag other DOMS to zTree, you need to build the drag codes by yourself.</li> <li class="highlight_red">To drag other DOMS to zTree, you need to build the drag codes by yourself.</li>
<li class="highlight_red">This is just a simple Demo. If you need more features, please build more complicated codes.</li> <li class="highlight_red">This is just a simple Demo. If you need more features, please build more complicated codes.</li>
</ul> </ul>
......
/* /*
* JQuery zTree core v3.5.16-beta.2 * JQuery zTree core v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function($){ (function($){
var settings = {}, roots = {}, caches = {}, var settings = {}, roots = {}, caches = {},
...@@ -1678,7 +1678,7 @@ ...@@ -1678,7 +1678,7 @@
consts = zt.consts; consts = zt.consts;
})(jQuery); })(jQuery);
/* /*
* JQuery zTree excheck v3.5.16-beta.2 * JQuery zTree excheck v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -1687,7 +1687,7 @@ ...@@ -1687,7 +1687,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function($){ (function($){
//default consts of excheck //default consts of excheck
...@@ -1750,7 +1750,8 @@ ...@@ -1750,7 +1750,8 @@
var o = setting.treeObj, var o = setting.treeObj,
c = consts.event; c = consts.event;
o.bind(c.CHECK, function (event, srcEvent, treeId, node) { o.bind(c.CHECK, function (event, srcEvent, treeId, node) {
tools.apply(setting.callback.onCheck, [!!srcEvent?srcEvent : event, treeId, node]); event.srcEvent = srcEvent;
tools.apply(setting.callback.onCheck, [event, treeId, node]);
}); });
}, },
_unbindEvent = function(setting) { _unbindEvent = function(setting) {
...@@ -2304,7 +2305,7 @@ ...@@ -2304,7 +2305,7 @@
} }
})(jQuery); })(jQuery);
/* /*
* JQuery zTree exedit v3.5.16-beta.2 * JQuery zTree exedit v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -2313,7 +2314,7 @@ ...@@ -2313,7 +2314,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function($){ (function($){
//default consts of exedit //default consts of exedit
...@@ -2322,7 +2323,8 @@ ...@@ -2322,7 +2323,8 @@
DRAG: "ztree_drag", DRAG: "ztree_drag",
DROP: "ztree_drop", DROP: "ztree_drop",
REMOVE: "ztree_remove", REMOVE: "ztree_remove",
RENAME: "ztree_rename" RENAME: "ztree_rename",
DRAGMOVE:"ztree_dragmove"
}, },
id: { id: {
EDIT: "_edit", EDIT: "_edit",
...@@ -2374,6 +2376,7 @@ ...@@ -2374,6 +2376,7 @@
beforeEditName:null, beforeEditName:null,
beforeRename:null, beforeRename:null,
onDrag:null, onDrag:null,
onDragMove:null,
onDrop:null, onDrop:null,
onRename:null onRename:null
} }
...@@ -2407,6 +2410,10 @@ ...@@ -2407,6 +2410,10 @@
tools.apply(setting.callback.onDrag, [srcEvent, treeId, treeNodes]); tools.apply(setting.callback.onDrag, [srcEvent, treeId, treeNodes]);
}); });
o.bind(c.DRAGMOVE,function(event, srcEvent, treeId, treeNodes){
tools.apply(setting.callback.onDragMove,[srcEvent, treeId, treeNodes]);
});
o.bind(c.DROP, function (event, srcEvent, treeId, treeNodes, targetNode, moveType, isCopy) { o.bind(c.DROP, function (event, srcEvent, treeId, treeNodes, targetNode, moveType, isCopy) {
tools.apply(setting.callback.onDrop, [srcEvent, treeId, treeNodes, targetNode, moveType, isCopy]); tools.apply(setting.callback.onDrop, [srcEvent, treeId, treeNodes, targetNode, moveType, isCopy]);
}); });
...@@ -2417,6 +2424,7 @@ ...@@ -2417,6 +2424,7 @@
o.unbind(c.RENAME); o.unbind(c.RENAME);
o.unbind(c.REMOVE); o.unbind(c.REMOVE);
o.unbind(c.DRAG); o.unbind(c.DRAG);
o.unbind(c.DRAGMOVE);
o.unbind(c.DROP); o.unbind(c.DROP);
}, },
//default event proxy of exedit //default event proxy of exedit
...@@ -2896,6 +2904,8 @@ ...@@ -2896,6 +2904,8 @@
} }
preTmpTargetNodeId = tmpTargetNodeId; preTmpTargetNodeId = tmpTargetNodeId;
preTmpMoveType = moveType; preTmpMoveType = moveType;
setting.treeObj.trigger(consts.event.DRAGMOVE, [event, setting.treeId, nodes]);
} }
return false; return false;
} }
......
此差异已折叠。
/* /*
* JQuery zTree core v3.5.16-beta.2 * JQuery zTree core v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function($){ (function($){
var settings = {}, roots = {}, caches = {}, var settings = {}, roots = {}, caches = {},
......
/* /*
* JQuery zTree core v3.5.16-beta.2 * JQuery zTree core v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function(p){var G,H,I,J,K,L,r={},u={},v={},M={treeId:"",treeObj:null,view:{addDiyDom:null,autoCancelSelected:!0,dblClickExpand:!0,expandSpeed:"fast",fontCss:{},nameIsHTML:!1,selectedMulti:!0,showIcon:!0,showLine:!0,showTitle:!0,txtSelectedEnable:!1},data:{key:{children:"children",name:"name",title:"",url:"url"},simpleData:{enable:!1,idKey:"id",pIdKey:"pId",rootPId:null},keep:{parent:!1,leaf:!1}},async:{enable:!1,contentType:"application/x-www-form-urlencoded",type:"post",dataType:"text",url:"",autoParam:[], (function(p){var G,H,I,J,K,L,r={},u={},v={},M={treeId:"",treeObj:null,view:{addDiyDom:null,autoCancelSelected:!0,dblClickExpand:!0,expandSpeed:"fast",fontCss:{},nameIsHTML:!1,selectedMulti:!0,showIcon:!0,showLine:!0,showTitle:!0,txtSelectedEnable:!1},data:{key:{children:"children",name:"name",title:"",url:"url"},simpleData:{enable:!1,idKey:"id",pIdKey:"pId",rootPId:null},keep:{parent:!1,leaf:!1}},async:{enable:!1,contentType:"application/x-www-form-urlencoded",type:"post",dataType:"text",url:"",autoParam:[],
otherParam:[],dataFilter:null},callback:{beforeAsync:null,beforeClick:null,beforeDblClick:null,beforeRightClick:null,beforeMouseDown:null,beforeMouseUp:null,beforeExpand:null,beforeCollapse:null,beforeRemove:null,onAsyncError:null,onAsyncSuccess:null,onNodeCreated:null,onClick:null,onDblClick:null,onRightClick:null,onMouseDown:null,onMouseUp:null,onExpand:null,onCollapse:null,onRemove:null}},w=[function(b){var a=b.treeObj,c=e.event;a.bind(c.NODECREATED,function(a,c,g){j.apply(b.callback.onNodeCreated, otherParam:[],dataFilter:null},callback:{beforeAsync:null,beforeClick:null,beforeDblClick:null,beforeRightClick:null,beforeMouseDown:null,beforeMouseUp:null,beforeExpand:null,beforeCollapse:null,beforeRemove:null,onAsyncError:null,onAsyncSuccess:null,onNodeCreated:null,onClick:null,onDblClick:null,onRightClick:null,onMouseDown:null,onMouseUp:null,onExpand:null,onCollapse:null,onRemove:null}},w=[function(b){var a=b.treeObj,c=e.event;a.bind(c.NODECREATED,function(a,c,g){j.apply(b.callback.onNodeCreated,
......
/* /*
* JQuery zTree excheck v3.5.16-beta.2 * JQuery zTree excheck v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function($){ (function($){
//default consts of excheck //default consts of excheck
...@@ -71,7 +71,8 @@ ...@@ -71,7 +71,8 @@
var o = setting.treeObj, var o = setting.treeObj,
c = consts.event; c = consts.event;
o.bind(c.CHECK, function (event, srcEvent, treeId, node) { o.bind(c.CHECK, function (event, srcEvent, treeId, node) {
tools.apply(setting.callback.onCheck, [!!srcEvent?srcEvent : event, treeId, node]); event.srcEvent = srcEvent;
tools.apply(setting.callback.onCheck, [event, treeId, node]);
}); });
}, },
_unbindEvent = function(setting) { _unbindEvent = function(setting) {
......
/* /*
* JQuery zTree excheck v3.5.16-beta.2 * JQuery zTree excheck v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function(m){var p,q,r,o={event:{CHECK:"ztree_check"},id:{CHECK:"_check"},checkbox:{STYLE:"checkbox",DEFAULT:"chk",DISABLED:"disable",FALSE:"false",TRUE:"true",FULL:"full",PART:"part",FOCUS:"focus"},radio:{STYLE:"radio",TYPE_ALL:"all",TYPE_LEVEL:"level"}},v={check:{enable:!1,autoCheckTrigger:!1,chkStyle:o.checkbox.STYLE,nocheckInherit:!1,chkDisabledInherit:!1,radioType:o.radio.TYPE_LEVEL,chkboxType:{Y:"ps",N:"ps"}},data:{key:{checked:"checked"}},callback:{beforeCheck:null,onCheck:null}};p=function(b, (function(m){var p,q,r,o={event:{CHECK:"ztree_check"},id:{CHECK:"_check"},checkbox:{STYLE:"checkbox",DEFAULT:"chk",DISABLED:"disable",FALSE:"false",TRUE:"true",FULL:"full",PART:"part",FOCUS:"focus"},radio:{STYLE:"radio",TYPE_ALL:"all",TYPE_LEVEL:"level"}},v={check:{enable:!1,autoCheckTrigger:!1,chkStyle:o.checkbox.STYLE,nocheckInherit:!1,chkDisabledInherit:!1,radioType:o.radio.TYPE_LEVEL,chkboxType:{Y:"ps",N:"ps"}},data:{key:{checked:"checked"}},callback:{beforeCheck:null,onCheck:null}};p=function(b,
a){if(a.chkDisabled===!0)return!1;var c=f.getSetting(b.data.treeId),d=c.data.key.checked;if(k.apply(c.callback.beforeCheck,[c.treeId,a],!0)==!1)return!0;a[d]=!a[d];e.checkNodeRelation(c,a);d=n(a,j.id.CHECK,c);e.setChkClass(c,d,a);e.repairParentChkClassWithSelf(c,a);c.treeObj.trigger(j.event.CHECK,[b,c.treeId,a]);return!0};q=function(b,a){if(a.chkDisabled===!0)return!1;var c=f.getSetting(b.data.treeId),d=n(a,j.id.CHECK,c);a.check_Focus=!0;e.setChkClass(c,d,a);return!0};r=function(b,a){if(a.chkDisabled=== a){if(a.chkDisabled===!0)return!1;var c=f.getSetting(b.data.treeId),d=c.data.key.checked;if(k.apply(c.callback.beforeCheck,[c.treeId,a],!0)==!1)return!0;a[d]=!a[d];e.checkNodeRelation(c,a);d=n(a,j.id.CHECK,c);e.setChkClass(c,d,a);e.repairParentChkClassWithSelf(c,a);c.treeObj.trigger(j.event.CHECK,[b,c.treeId,a]);return!0};q=function(b,a){if(a.chkDisabled===!0)return!1;var c=f.getSetting(b.data.treeId),d=n(a,j.id.CHECK,c);a.check_Focus=!0;e.setChkClass(c,d,a);return!0};r=function(b,a){if(a.chkDisabled===
...@@ -23,8 +23,8 @@ o,c,d);o.chkDisabled===!0&&(g=!0)}if(a!=f.getRoot(b)&&a.chkDisabled!==!0){g&&a.n ...@@ -23,8 +23,8 @@ o,c,d);o.chkDisabled===!0&&(g=!0)}if(a!=f.getRoot(b)&&a.chkDisabled!==!0){g&&a.n
a[c].tId)||(a.splice(c,1),c--,d--);return a},getCheckStatus:function(b,a){if(!b.check.enable||a.nocheck||a.chkDisabled)return null;var c=b.data.key.checked;return{checked:a[c],half:a.halfCheck?a.halfCheck:b.check.chkStyle==j.radio.STYLE?a.check_Child_State===2:a[c]?a.check_Child_State>-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(b,a,c,d){if(!a)return[];for(var h=b.data.key.children,i=b.data.key.checked,e=c&&b.check.chkStyle==j.radio.STYLE&&b.check.radioType==j.radio.TYPE_ALL, a[c].tId)||(a.splice(c,1),c--,d--);return a},getCheckStatus:function(b,a){if(!b.check.enable||a.nocheck||a.chkDisabled)return null;var c=b.data.key.checked;return{checked:a[c],half:a.halfCheck?a.halfCheck:b.check.chkStyle==j.radio.STYLE?a.check_Child_State===2:a[c]?a.check_Child_State>-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(b,a,c,d){if(!a)return[];for(var h=b.data.key.children,i=b.data.key.checked,e=c&&b.check.chkStyle==j.radio.STYLE&&b.check.radioType==j.radio.TYPE_ALL,
d=!d?[]:d,g=0,k=a.length;g<k;g++){if(a[g].nocheck!==!0&&a[g].chkDisabled!==!0&&a[g][i]==c&&(d.push(a[g]),e))break;f.getTreeCheckedNodes(b,a[g][h],c,d);if(e&&d.length>0)break}return d},getTreeChangeCheckedNodes:function(b,a,c){if(!a)return[];for(var d=b.data.key.children,h=b.data.key.checked,c=!c?[]:c,i=0,e=a.length;i<e;i++)a[i].nocheck!==!0&&a[i].chkDisabled!==!0&&a[i][h]!=a[i].checkedOld&&c.push(a[i]),f.getTreeChangeCheckedNodes(b,a[i][d],c);return c},makeChkFlag:function(b,a){if(a){var c=b.data.key.children, d=!d?[]:d,g=0,k=a.length;g<k;g++){if(a[g].nocheck!==!0&&a[g].chkDisabled!==!0&&a[g][i]==c&&(d.push(a[g]),e))break;f.getTreeCheckedNodes(b,a[g][h],c,d);if(e&&d.length>0)break}return d},getTreeChangeCheckedNodes:function(b,a,c){if(!a)return[];for(var d=b.data.key.children,h=b.data.key.checked,c=!c?[]:c,i=0,e=a.length;i<e;i++)a[i].nocheck!==!0&&a[i].chkDisabled!==!0&&a[i][h]!=a[i].checkedOld&&c.push(a[i]),f.getTreeChangeCheckedNodes(b,a[i][d],c);return c},makeChkFlag:function(b,a){if(a){var c=b.data.key.children,
d=b.data.key.checked,h=-1;if(a[c])for(var i=0,e=a[c].length;i<e;i++){var g=a[c][i],f=-1;if(b.check.chkStyle==j.radio.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?2:g[d]?2:g.check_Child_State>0?2:0,f==2){h=2;break}else f==0&&(h=0);else if(b.check.chkStyle==j.checkbox.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?1:g[d]?g.check_Child_State===-1||g.check_Child_State===2?2:1:g.check_Child_State>0?1:0,f===1){h=1;break}else if(f=== d=b.data.key.checked,h=-1;if(a[c])for(var i=0,e=a[c].length;i<e;i++){var g=a[c][i],f=-1;if(b.check.chkStyle==j.radio.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?2:g[d]?2:g.check_Child_State>0?2:0,f==2){h=2;break}else f==0&&(h=0);else if(b.check.chkStyle==j.checkbox.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?1:g[d]?g.check_Child_State===-1||g.check_Child_State===2?2:1:g.check_Child_State>0?1:0,f===1){h=1;break}else if(f===
2&&h>-1&&i>0&&f!==h){h=1;break}else if(h===2&&f>-1&&f<2){h=1;break}else f>-1&&(h=f)}a.check_Child_State=h}}}});var m=m.fn.zTree,k=m._z.tools,j=m.consts,e=m._z.view,f=m._z.data,n=k.$;f.exSetting(v);f.addInitBind(function(b){b.treeObj.bind(j.event.CHECK,function(a,c,d,h){k.apply(b.callback.onCheck,[c?c:a,d,h])})});f.addInitUnBind(function(b){b.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(b,a,c,d){if(c){a=b.data.key.checked;typeof c[a]=="string"&&(c[a]=k.eqs(c[a], 2&&h>-1&&i>0&&f!==h){h=1;break}else if(h===2&&f>-1&&f<2){h=1;break}else f>-1&&(h=f)}a.check_Child_State=h}}}});var m=m.fn.zTree,k=m._z.tools,j=m.consts,e=m._z.view,f=m._z.data,n=k.$;f.exSetting(v);f.addInitBind(function(b){b.treeObj.bind(j.event.CHECK,function(a,c,d,h){a.srcEvent=c;k.apply(b.callback.onCheck,[a,d,h])})});f.addInitUnBind(function(b){b.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(b,a,c,d){if(c){a=b.data.key.checked;typeof c[a]=="string"&&(c[a]=
"true"));c[a]=!!c[a];c.checkedOld=c[a];if(typeof c.nocheck=="string")c.nocheck=k.eqs(c.nocheck,"true");c.nocheck=!!c.nocheck||b.check.nocheckInherit&&d&&!!d.nocheck;if(typeof c.chkDisabled=="string")c.chkDisabled=k.eqs(c.chkDisabled,"true");c.chkDisabled=!!c.chkDisabled||b.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof c.halfCheck=="string")c.halfCheck=k.eqs(c.halfCheck,"true");c.halfCheck=!!c.halfCheck;c.check_Child_State=-1;c.check_Focus=!1;c.getCheckStatus=function(){return f.getCheckStatus(b, k.eqs(c[a],"true"));c[a]=!!c[a];c.checkedOld=c[a];if(typeof c.nocheck=="string")c.nocheck=k.eqs(c.nocheck,"true");c.nocheck=!!c.nocheck||b.check.nocheckInherit&&d&&!!d.nocheck;if(typeof c.chkDisabled=="string")c.chkDisabled=k.eqs(c.chkDisabled,"true");c.chkDisabled=!!c.chkDisabled||b.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof c.halfCheck=="string")c.halfCheck=k.eqs(c.halfCheck,"true");c.halfCheck=!!c.halfCheck;c.check_Child_State=-1;c.check_Focus=!1;c.getCheckStatus=function(){return f.getCheckStatus(b,
c)};b.check.chkStyle==j.radio.STYLE&&b.check.radioType==j.radio.TYPE_ALL&&c[a]&&f.getRoot(b).radioCheckedList.push(c)}});f.addInitProxy(function(b){var a=b.target,c=f.getSetting(b.data.treeId),d="",h=null,e="",l=null;if(k.eqs(b.type,"mouseover")){if(c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=k.getNodeMainDom(a).id,e="mouseoverCheck"}else if(k.eqs(b.type,"mouseout")){if(c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d= c)};b.check.chkStyle==j.radio.STYLE&&b.check.radioType==j.radio.TYPE_ALL&&c[a]&&f.getRoot(b).radioCheckedList.push(c)}});f.addInitProxy(function(b){var a=b.target,c=f.getSetting(b.data.treeId),d="",h=null,e="",l=null;if(k.eqs(b.type,"mouseover")){if(c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=k.getNodeMainDom(a).id,e="mouseoverCheck"}else if(k.eqs(b.type,"mouseout")){if(c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=
k.getNodeMainDom(a).id,e="mouseoutCheck"}else if(k.eqs(b.type,"click")&&c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=k.getNodeMainDom(a).id,e="checkNode";if(d.length>0)switch(h=f.getNodeCache(c,d),e){case "checkNode":l=p;break;case "mouseoverCheck":l=q;break;case "mouseoutCheck":l=r}return{stop:e==="checkNode",node:h,nodeEventType:e,nodeEventCallback:l,treeEventType:"",treeEventCallback:null}},!0);f.addInitRoot(function(b){f.getRoot(b).radioCheckedList=[]}); k.getNodeMainDom(a).id,e="mouseoutCheck"}else if(k.eqs(b.type,"click")&&c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=k.getNodeMainDom(a).id,e="checkNode";if(d.length>0)switch(h=f.getNodeCache(c,d),e){case "checkNode":l=p;break;case "mouseoverCheck":l=q;break;case "mouseoutCheck":l=r}return{stop:e==="checkNode",node:h,nodeEventType:e,nodeEventCallback:l,treeEventType:"",treeEventCallback:null}},!0);f.addInitRoot(function(b){f.getRoot(b).radioCheckedList=[]});
f.addBeforeA(function(b,a,c){b.check.enable&&(f.makeChkFlag(b,a),c.push("<span ID='",a.tId,j.id.CHECK,"' class='",e.makeChkClass(b,a),"' treeNode",j.id.CHECK,a.nocheck===!0?" style='display:none;'":"","></span>"))});f.addZTreeTools(function(b,a){a.checkNode=function(a,c,i,f){var g=b.data.key.checked;if(a.chkDisabled!==!0&&(c!==!0&&c!==!1&&(c=!a[g]),f=!!f,(a[g]!==c||i)&&!(f&&k.apply(this.setting.callback.beforeCheck,[b.treeId,a],!0)==!1)&&k.uCanDo(this.setting)&&b.check.enable&&a.nocheck!==!0))a[g]= f.addBeforeA(function(b,a,c){b.check.enable&&(f.makeChkFlag(b,a),c.push("<span ID='",a.tId,j.id.CHECK,"' class='",e.makeChkClass(b,a),"' treeNode",j.id.CHECK,a.nocheck===!0?" style='display:none;'":"","></span>"))});f.addZTreeTools(function(b,a){a.checkNode=function(a,c,i,f){var g=b.data.key.checked;if(a.chkDisabled!==!0&&(c!==!0&&c!==!1&&(c=!a[g]),f=!!f,(a[g]!==c||i)&&!(f&&k.apply(this.setting.callback.beforeCheck,[b.treeId,a],!0)==!1)&&k.uCanDo(this.setting)&&b.check.enable&&a.nocheck!==!0))a[g]=
......
/* /*
* JQuery zTree exedit v3.5.16-beta.2 * JQuery zTree exedit v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function($){ (function($){
//default consts of exedit //default consts of exedit
...@@ -17,7 +17,8 @@ ...@@ -17,7 +17,8 @@
DRAG: "ztree_drag", DRAG: "ztree_drag",
DROP: "ztree_drop", DROP: "ztree_drop",
REMOVE: "ztree_remove", REMOVE: "ztree_remove",
RENAME: "ztree_rename" RENAME: "ztree_rename",
DRAGMOVE:"ztree_dragmove"
}, },
id: { id: {
EDIT: "_edit", EDIT: "_edit",
...@@ -69,6 +70,7 @@ ...@@ -69,6 +70,7 @@
beforeEditName:null, beforeEditName:null,
beforeRename:null, beforeRename:null,
onDrag:null, onDrag:null,
onDragMove:null,
onDrop:null, onDrop:null,
onRename:null onRename:null
} }
...@@ -102,6 +104,10 @@ ...@@ -102,6 +104,10 @@
tools.apply(setting.callback.onDrag, [srcEvent, treeId, treeNodes]); tools.apply(setting.callback.onDrag, [srcEvent, treeId, treeNodes]);
}); });
o.bind(c.DRAGMOVE,function(event, srcEvent, treeId, treeNodes){
tools.apply(setting.callback.onDragMove,[srcEvent, treeId, treeNodes]);
});
o.bind(c.DROP, function (event, srcEvent, treeId, treeNodes, targetNode, moveType, isCopy) { o.bind(c.DROP, function (event, srcEvent, treeId, treeNodes, targetNode, moveType, isCopy) {
tools.apply(setting.callback.onDrop, [srcEvent, treeId, treeNodes, targetNode, moveType, isCopy]); tools.apply(setting.callback.onDrop, [srcEvent, treeId, treeNodes, targetNode, moveType, isCopy]);
}); });
...@@ -112,6 +118,7 @@ ...@@ -112,6 +118,7 @@
o.unbind(c.RENAME); o.unbind(c.RENAME);
o.unbind(c.REMOVE); o.unbind(c.REMOVE);
o.unbind(c.DRAG); o.unbind(c.DRAG);
o.unbind(c.DRAGMOVE);
o.unbind(c.DROP); o.unbind(c.DROP);
}, },
//default event proxy of exedit //default event proxy of exedit
...@@ -591,6 +598,8 @@ ...@@ -591,6 +598,8 @@
} }
preTmpTargetNodeId = tmpTargetNodeId; preTmpTargetNodeId = tmpTargetNodeId;
preTmpMoveType = moveType; preTmpMoveType = moveType;
setting.treeObj.trigger(consts.event.DRAGMOVE, [event, setting.treeId, nodes]);
} }
return false; return false;
} }
......
此差异已折叠。
/* /*
* JQuery zTree exHideNodes v3.5.16-beta.2 * JQuery zTree exHideNodes v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function($){ (function($){
//default init node of exLib //default init node of exLib
......
/* /*
* JQuery zTree exHideNodes v3.5.16-beta.2 * JQuery zTree exHideNodes v3.5.16-beta.3
* http://zTree.me/ * http://zTree.me/
* *
* Copyright (c) 2010 Hunter.z * Copyright (c) 2010 Hunter.z
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/mit-license.php
* *
* email: hunter.z@263.net * email: hunter.z@263.net
* Date: 2013-11-03 * Date: 2013-11-24
*/ */
(function(i){i.extend(!0,i.fn.zTree._z,{view:{clearOldFirstNode:function(c,a){for(var b=a.getNextNode();b;){if(b.isFirstNode){b.isFirstNode=!1;d.setNodeLineIcos(c,b);break}if(b.isLastNode)break;b=b.getNextNode()}},clearOldLastNode:function(c,a){for(var b=a.getPreNode();b;){if(b.isLastNode){b.isLastNode=!1;d.setNodeLineIcos(c,b);break}if(b.isFirstNode)break;b=b.getPreNode()}},makeDOMNodeMainBefore:function(c,a,b){c.push("<li ",b.isHidden?"style='display:none;' ":"","id='",b.tId,"' class='",l.className.LEVEL, (function(i){i.extend(!0,i.fn.zTree._z,{view:{clearOldFirstNode:function(c,a){for(var b=a.getNextNode();b;){if(b.isFirstNode){b.isFirstNode=!1;d.setNodeLineIcos(c,b);break}if(b.isLastNode)break;b=b.getNextNode()}},clearOldLastNode:function(c,a){for(var b=a.getPreNode();b;){if(b.isLastNode){b.isLastNode=!1;d.setNodeLineIcos(c,b);break}if(b.isFirstNode)break;b=b.getPreNode()}},makeDOMNodeMainBefore:function(c,a,b){c.push("<li ",b.isHidden?"style='display:none;' ":"","id='",b.tId,"' class='",l.className.LEVEL,
b.level,"' tabindex='0' hidefocus='true' treenode>")},showNode:function(c,a){a.isHidden=!1;f.initShowForExCheck(c,a);j(a,c).show()},showNodes:function(c,a,b){if(a&&a.length!=0){var e={},g,k;for(g=0,k=a.length;g<k;g++){var h=a[g];if(!e[h.parentTId]){var i=h.getParentNode();e[h.parentTId]=i===null?f.getRoot(c):h.getParentNode()}d.showNode(c,h,b)}for(var j in e)a=e[j][c.data.key.children],d.setFirstNodeForShow(c,a),d.setLastNodeForShow(c,a)}},hideNode:function(c,a){a.isHidden=!0;a.isFirstNode=!1;a.isLastNode= b.level,"' tabindex='0' hidefocus='true' treenode>")},showNode:function(c,a){a.isHidden=!1;f.initShowForExCheck(c,a);j(a,c).show()},showNodes:function(c,a,b){if(a&&a.length!=0){var e={},g,k;for(g=0,k=a.length;g<k;g++){var h=a[g];if(!e[h.parentTId]){var i=h.getParentNode();e[h.parentTId]=i===null?f.getRoot(c):h.getParentNode()}d.showNode(c,h,b)}for(var j in e)a=e[j][c.data.key.children],d.setFirstNodeForShow(c,a),d.setLastNodeForShow(c,a)}},hideNode:function(c,a){a.isHidden=!0;a.isFirstNode=!1;a.isLastNode=
......
...@@ -13,8 +13,13 @@ ...@@ -13,8 +13,13 @@
</font> </font>
*2013.11.03* v3.5.16-beta.2
*2013.11.24* v3.5.16-beta.3
* 【增加】onDragMove 回调,便于控制 zTree 节点与其他 DOM 的拖拽操作。(感谢 yumi301)
* 【修改】使用 destory 方法销毁树以后,依然可以从 getZTreeObj 方法中获取到 zTree 对象的 bug。 * 【修改】使用 destory 方法销毁树以后,依然可以从 getZTreeObj 方法中获取到 zTree 对象的 bug。
* 【修改】onCheck 回调的 event,恢复为 zTree 自身的 event 事件,同时利用 srcEvent 传递原始 event 对象。(感谢 yumi301)
*2013.10.19* v3.5.15 *2013.10.19* v3.5.15
* 【增加】setting.view.txtSelectedEnable 属性,满足部分项目中客户对于可以选择节点文本信息的强烈欲望。 * 【增加】setting.view.txtSelectedEnable 属性,满足部分项目中客户对于可以选择节点文本信息的强烈欲望。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册