Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
GitCode
1024程序员开源挑战赛(10.23-11.14)
提交
aab82ed4
1
1024程序员开源挑战赛(10.23-11.14)
项目概览
GitCode
/
1024程序员开源挑战赛(10.23-11.14)
通知
180867
Star
1064
Fork
1042
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
86
列表
看板
标记
里程碑
合并请求
8
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
1
1024程序员开源挑战赛(10.23-11.14)
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
86
Issue
86
列表
看板
标记
里程碑
合并请求
8
合并请求
8
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
aab82ed4
编写于
12月 04, 2015
作者:
Z
ztree
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
* 【修改】为避免定位节点时抢焦点, 使用 scrollIntoView 方法替换之前的 focus 方法, 对于IE6等旧浏览器仍然使用 focus方法
上级
f52de4e4
变更
12
展开全部
显示空白变更内容
内联
并排
Showing
12 changed file
with
216 addition
and
161 deletion
+216
-161
api/apiCss/jquery.ztree.core-3.5.js
api/apiCss/jquery.ztree.core-3.5.js
+35
-35
js/jquery.ztree.all-3.5.js
js/jquery.ztree.all-3.5.js
+40
-14
js/jquery.ztree.all-3.5.min.js
js/jquery.ztree.all-3.5.min.js
+47
-47
js/jquery.ztree.core-3.5.js
js/jquery.ztree.core-3.5.js
+27
-9
js/jquery.ztree.core-3.5.min.js
js/jquery.ztree.core-3.5.min.js
+35
-35
js/jquery.ztree.excheck-3.5.js
js/jquery.ztree.excheck-3.5.js
+2
-2
js/jquery.ztree.excheck-3.5.min.js
js/jquery.ztree.excheck-3.5.min.js
+2
-2
js/jquery.ztree.exedit-3.5.js
js/jquery.ztree.exedit-3.5.js
+11
-3
js/jquery.ztree.exedit-3.5.min.js
js/jquery.ztree.exedit-3.5.min.js
+10
-10
js/jquery.ztree.exhide-3.5.js
js/jquery.ztree.exhide-3.5.js
+2
-2
js/jquery.ztree.exhide-3.5.min.js
js/jquery.ztree.exhide-3.5.min.js
+2
-2
log v3.x.txt
log v3.x.txt
+3
-0
未找到文件。
api/apiCss/jquery.ztree.core-3.5.js
浏览文件 @
aab82ed4
此差异已折叠。
点击以展开。
js/jquery.ztree.all-3.5.js
浏览文件 @
aab82ed4
/*
* JQuery zTree core v3.5.19.
2
* JQuery zTree core v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -9,7 +9,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
function
(
$
){
var
settings
=
{},
roots
=
{},
caches
=
{},
...
...
@@ -1648,15 +1648,24 @@
data
.
getRoot
(
setting
).
expandTriggerFlag
=
callbackFlag
;
if
(
!
tools
.
canAsync
(
setting
,
node
)
&&
sonSign
)
{
view
.
expandCollapseSonNode
(
setting
,
node
,
expandFlag
,
true
,
function
()
{
if
(
focus
!==
false
)
{
try
{
$$
(
node
,
setting
).
focus
().
blur
();}
catch
(
e
){}}
});
view
.
expandCollapseSonNode
(
setting
,
node
,
expandFlag
,
true
,
showNodeFocus
);
}
else
{
node
.
open
=
!
expandFlag
;
view
.
switchNode
(
this
.
setting
,
node
);
if
(
focus
!==
false
)
{
try
{
$$
(
node
,
setting
).
focus
().
blur
();}
catch
(
e
){}}
showNodeFocus
();
}
return
expandFlag
;
function
showNodeFocus
()
{
var
a
=
$$
(
node
,
setting
).
get
(
0
);
if
(
a
&&
focus
!==
false
)
{
if
(
a
.
scrollIntoView
)
{
a
.
scrollIntoView
();
}
else
{
try
{
a
.
focus
().
blur
();}
catch
(
e
){}
}
}
}
},
getNodes
:
function
()
{
return
data
.
getNodes
(
setting
);
...
...
@@ -1752,14 +1761,23 @@
if
(
tools
.
uCanDo
(
setting
))
{
addFlag
=
setting
.
view
.
selectedMulti
&&
addFlag
;
if
(
node
.
parentTId
)
{
view
.
expandCollapseParentNode
(
setting
,
node
.
getParentNode
(),
true
,
false
,
function
()
{
try
{
$$
(
node
,
setting
).
focus
().
blur
();}
catch
(
e
){}
});
view
.
expandCollapseParentNode
(
setting
,
node
.
getParentNode
(),
true
,
false
,
showNodeFocus
);
}
else
{
try
{
$$
(
node
,
setting
).
focus
().
blur
();}
catch
(
e
){}
}
view
.
selectNode
(
setting
,
node
,
addFlag
);
}
function
showNodeFocus
()
{
var
a
=
$$
(
node
,
setting
).
get
(
0
);
if
(
a
)
{
if
(
a
.
scrollIntoView
)
{
a
.
scrollIntoView
();
}
else
{
try
{
a
.
focus
().
blur
();}
catch
(
e
){}
}
}
}
},
transformTozTreeNodes
:
function
(
simpleNodes
)
{
return
data
.
transformTozTreeFormat
(
setting
,
simpleNodes
);
...
...
@@ -1796,7 +1814,7 @@
consts
=
zt
.
consts
;
})(
jQuery
);
/*
* JQuery zTree excheck v3.5.19.
2
* JQuery zTree excheck v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -1805,7 +1823,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
function
(
$
){
//default consts of excheck
...
...
@@ -2424,7 +2442,7 @@
}
})(
jQuery
);
/*
* JQuery zTree exedit v3.5.19.
2
* JQuery zTree exedit v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -2433,7 +2451,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
function
(
$
){
//default consts of exedit
...
...
@@ -3105,7 +3123,15 @@
}
}
view
.
selectNodes
(
targetSetting
,
newNodes
);
$$
(
newNodes
[
0
],
setting
).
focus
().
blur
();
var
a
=
$$
(
newNodes
[
0
],
setting
).
get
(
0
);
if
(
a
)
{
if
(
a
.
scrollIntoView
)
{
a
.
scrollIntoView
();
}
else
{
try
{
a
.
focus
().
blur
();}
catch
(
e
){}
}
}
setting
.
treeObj
.
trigger
(
consts
.
event
.
DROP
,
[
event
,
targetSetting
.
treeId
,
newNodes
,
dragTargetNode
,
moveType
,
isCopy
]);
}
...
...
js/jquery.ztree.all-3.5.min.js
浏览文件 @
aab82ed4
此差异已折叠。
点击以展开。
js/jquery.ztree.core-3.5.js
浏览文件 @
aab82ed4
/*
* JQuery zTree core v3.5.19.
2
* JQuery zTree core v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
function
(
$
){
var
settings
=
{},
roots
=
{},
caches
=
{},
...
...
@@ -1647,15 +1647,24 @@
data
.
getRoot
(
setting
).
expandTriggerFlag
=
callbackFlag
;
if
(
!
tools
.
canAsync
(
setting
,
node
)
&&
sonSign
)
{
view
.
expandCollapseSonNode
(
setting
,
node
,
expandFlag
,
true
,
function
()
{
if
(
focus
!==
false
)
{
try
{
$$
(
node
,
setting
).
focus
().
blur
();}
catch
(
e
){}}
});
view
.
expandCollapseSonNode
(
setting
,
node
,
expandFlag
,
true
,
showNodeFocus
);
}
else
{
node
.
open
=
!
expandFlag
;
view
.
switchNode
(
this
.
setting
,
node
);
if
(
focus
!==
false
)
{
try
{
$$
(
node
,
setting
).
focus
().
blur
();}
catch
(
e
){}}
showNodeFocus
();
}
return
expandFlag
;
function
showNodeFocus
()
{
var
a
=
$$
(
node
,
setting
).
get
(
0
);
if
(
a
&&
focus
!==
false
)
{
if
(
a
.
scrollIntoView
)
{
a
.
scrollIntoView
();
}
else
{
try
{
a
.
focus
().
blur
();}
catch
(
e
){}
}
}
}
},
getNodes
:
function
()
{
return
data
.
getNodes
(
setting
);
...
...
@@ -1751,14 +1760,23 @@
if
(
tools
.
uCanDo
(
setting
))
{
addFlag
=
setting
.
view
.
selectedMulti
&&
addFlag
;
if
(
node
.
parentTId
)
{
view
.
expandCollapseParentNode
(
setting
,
node
.
getParentNode
(),
true
,
false
,
function
()
{
try
{
$$
(
node
,
setting
).
focus
().
blur
();}
catch
(
e
){}
});
view
.
expandCollapseParentNode
(
setting
,
node
.
getParentNode
(),
true
,
false
,
showNodeFocus
);
}
else
{
try
{
$$
(
node
,
setting
).
focus
().
blur
();}
catch
(
e
){}
}
view
.
selectNode
(
setting
,
node
,
addFlag
);
}
function
showNodeFocus
()
{
var
a
=
$$
(
node
,
setting
).
get
(
0
);
if
(
a
)
{
if
(
a
.
scrollIntoView
)
{
a
.
scrollIntoView
(
false
);
}
else
{
try
{
a
.
focus
().
blur
();}
catch
(
e
){}
}
}
}
},
transformTozTreeNodes
:
function
(
simpleNodes
)
{
return
data
.
transformTozTreeFormat
(
setting
,
simpleNodes
);
...
...
js/jquery.ztree.core-3.5.min.js
浏览文件 @
aab82ed4
此差异已折叠。
点击以展开。
js/jquery.ztree.excheck-3.5.js
浏览文件 @
aab82ed4
/*
* JQuery zTree excheck v3.5.19.
2
* JQuery zTree excheck v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
function
(
$
){
//default consts of excheck
...
...
js/jquery.ztree.excheck-3.5.min.js
浏览文件 @
aab82ed4
/*
* JQuery zTree excheck v3.5.19.
2
* JQuery zTree excheck v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
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
(
c
,
a
){
if
(
a
.
chkDisabled
===!
0
)
return
!
1
;
var
b
=
g
.
getSetting
(
c
.
data
.
treeId
),
d
=
b
.
data
.
key
.
checked
;
if
(
k
.
apply
(
b
.
callback
.
beforeCheck
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
!
0
;
a
[
d
]
=!
a
[
d
];
e
.
checkNodeRelation
(
b
,
a
);
d
=
n
(
a
,
j
.
id
.
CHECK
,
b
);
e
.
setChkClass
(
b
,
d
,
a
);
e
.
repairParentChkClassWithSelf
(
b
,
a
);
b
.
treeObj
.
trigger
(
j
.
event
.
CHECK
,[
c
,
b
.
treeId
,
a
]);
return
!
0
};
q
=
function
(
c
,
a
){
if
(
a
.
chkDisabled
===!
0
)
return
!
1
;
var
b
=
g
.
getSetting
(
c
.
data
.
treeId
),
d
=
n
(
a
,
j
.
id
.
CHECK
,
b
);
a
.
check_Focus
=!
0
;
e
.
setChkClass
(
b
,
d
,
a
);
return
!
0
};
r
=
function
(
c
,
a
){
if
(
a
.
chkDisabled
===
...
...
js/jquery.ztree.exedit-3.5.js
浏览文件 @
aab82ed4
/*
* JQuery zTree exedit v3.5.19.
2
* JQuery zTree exedit v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
function
(
$
){
//default consts of exedit
...
...
@@ -680,7 +680,15 @@
}
}
view
.
selectNodes
(
targetSetting
,
newNodes
);
$$
(
newNodes
[
0
],
setting
).
focus
().
blur
();
var
a
=
$$
(
newNodes
[
0
],
setting
).
get
(
0
);
if
(
a
)
{
if
(
a
.
scrollIntoView
)
{
a
.
scrollIntoView
();
}
else
{
try
{
a
.
focus
().
blur
();}
catch
(
e
){}
}
}
setting
.
treeObj
.
trigger
(
consts
.
event
.
DROP
,
[
event
,
targetSetting
.
treeId
,
newNodes
,
dragTargetNode
,
moveType
,
isCopy
]);
}
...
...
js/jquery.ztree.exedit-3.5.min.js
浏览文件 @
aab82ed4
/*
* JQuery zTree exedit v3.5.19.
2
* JQuery zTree exedit v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
function
(
v
){
var
I
=
{
event
:{
DRAG
:
"
ztree_drag
"
,
DROP
:
"
ztree_drop
"
,
RENAME
:
"
ztree_rename
"
,
DRAGMOVE
:
"
ztree_dragmove
"
},
id
:{
EDIT
:
"
_edit
"
,
INPUT
:
"
_input
"
,
REMOVE
:
"
_remove
"
},
move
:{
TYPE_INNER
:
"
inner
"
,
TYPE_PREV
:
"
prev
"
,
TYPE_NEXT
:
"
next
"
},
node
:{
CURSELECTED_EDIT
:
"
curSelectedNode_Edit
"
,
TMPTARGET_TREE
:
"
tmpTargetzTree
"
,
TMPTARGET_NODE
:
"
tmpTargetNode
"
}},
x
=
{
onHoverOverNode
:
function
(
b
,
a
){
var
c
=
m
.
getSetting
(
b
.
data
.
treeId
),
d
=
m
.
getRoot
(
c
);
if
(
d
.
curHoverNode
!=
a
)
x
.
onHoverOutNode
(
b
);
d
.
curHoverNode
=
a
;
f
.
addHoverDom
(
c
,
a
)},
onHoverOutNode
:
function
(
b
){
var
b
=
m
.
getSetting
(
b
.
data
.
treeId
),
a
=
m
.
getRoot
(
b
);
if
(
a
.
curHoverNode
&&!
m
.
isSelectedNode
(
b
,
a
.
curHoverNode
))
f
.
removeTreeDom
(
b
,
a
.
curHoverNode
),
a
.
curHoverNode
=
null
},
onMousedownNode
:
function
(
b
,
a
){
function
c
(
b
){
if
(
B
.
dragFlag
==
0
&&
Math
.
abs
(
N
-
b
.
clientX
)
<
e
.
edit
.
drag
.
minMoveSize
&&
Math
.
abs
(
O
-
b
.
clientY
)
<
e
.
edit
.
drag
.
minMoveSize
)
return
!
0
;
var
a
,
c
,
n
,
k
,
i
;
i
=
e
.
data
.
key
.
children
;
M
.
css
(
"
cursor
"
,
"
pointer
"
);
if
(
B
.
dragFlag
==
0
){
if
(
g
.
apply
(
e
.
callback
.
beforeDrag
,[
e
.
treeId
,
l
],
!
0
)
==!
1
)
return
r
(
b
),
!
0
;
for
(
a
=
0
,
c
=
l
.
length
;
a
<
c
;
a
++
){
if
(
a
==
0
)
B
.
dragNodeShowBefore
=
...
...
@@ -25,14 +25,14 @@ window.zTreeMoveTargetNodeTId!==z.tId?(clearTimeout(window.zTreeMoveTimer),windo
window
.
zTreeMoveTargetNodeTId
=
z
.
tId
}}
else
if
(
w
=
d
.
move
.
TYPE_INNER
,
s
&&
g
.
apply
(
h
.
edit
.
drag
.
inner
,[
h
.
treeId
,
l
,
null
],
!!
h
.
edit
.
drag
.
inner
)?
s
.
addClass
(
d
.
node
.
TMPTARGET_TREE
):
s
=
null
,
A
.
css
({
display
:
"
none
"
}),
window
.
zTreeMoveTimer
)
clearTimeout
(
window
.
zTreeMoveTimer
),
window
.
zTreeMoveTargetNodeTId
=
null
;
T
=
u
;
U
=
w
;
e
.
treeObj
.
trigger
(
d
.
event
.
DRAGMOVE
,[
b
,
e
.
treeId
,
l
])}
return
!
1
}
function
r
(
b
){
if
(
window
.
zTreeMoveTimer
)
clearTimeout
(
window
.
zTreeMoveTimer
),
window
.
zTreeMoveTargetNodeTId
=
null
;
U
=
T
=
null
;
F
.
unbind
(
"
mousemove
"
,
c
);
F
.
unbind
(
"
mouseup
"
,
r
);
F
.
unbind
(
"
selectstart
"
,
k
);
M
.
css
(
"
cursor
"
,
"
auto
"
);
s
&&
(
s
.
removeClass
(
d
.
node
.
TMPTARGET_TREE
),
u
&&
v
(
"
#
"
+
u
+
d
.
id
.
A
,
s
).
removeClass
(
d
.
node
.
TMPTARGET_NODE
+
"
_
"
+
d
.
move
.
TYPE_PREV
).
removeClass
(
d
.
node
.
TMPTARGET_NODE
+
"
_
"
+
I
.
move
.
TYPE_NEXT
).
removeClass
(
d
.
node
.
TMPTARGET_NODE
+
"
_
"
+
I
.
move
.
TYPE_INNER
));
g
.
showIfameMask
(
e
,
!
1
);
t
.
showHoverDom
=!
0
;
if
(
B
.
dragFlag
!=
0
){
B
.
dragFlag
=
0
;
var
a
,
i
,
j
;
for
(
a
=
0
,
i
=
l
.
length
;
a
<
i
;
a
++
)
j
=
l
[
a
],
j
.
isParent
&&
B
.
dragNodeShowBefore
[
j
.
tId
]
&&!
j
.
open
&&
(
f
.
expandCollapseNode
(
e
,
j
,
!
j
.
open
),
delete
B
.
dragNodeShowBefore
[
j
.
tId
]);
D
&&
D
.
remove
();
A
&&
A
.
remove
();
var
p
=
(
b
.
ctrlKey
||
b
.
metaKey
)
&&
e
.
edit
.
drag
.
isMove
&&
e
.
edit
.
drag
.
isCopy
||!
e
.
edit
.
drag
.
isMove
&&
e
.
edit
.
drag
.
isCopy
;
!
p
&&
s
&&
u
&&
l
[
0
].
parentTId
&&
u
==
l
[
0
].
parentTId
&&
w
==
d
.
move
.
TYPE_INNER
&&
(
s
=
null
);
if
(
s
){
var
q
=
u
==
null
?
null
:
m
.
getNodeCache
(
h
,
u
);
if
(
g
.
apply
(
e
.
callback
.
beforeDrop
,[
h
.
treeId
,
l
,
q
,
w
,
p
],
!
0
)
==!
1
)
f
.
selectNodes
(
x
,
l
);
else
{
var
C
=
p
?
g
.
clone
(
l
):
l
;
a
=
function
(){
if
(
J
){
if
(
!
p
)
for
(
var
a
=
0
,
c
=
l
.
length
;
a
<
c
;
a
++
)
f
.
removeNode
(
e
,
l
[
a
]);
w
==
d
.
move
.
TYPE_INNER
?
f
.
addNodes
(
h
,
q
,
-
1
,
C
):
f
.
addNodes
(
h
,
q
.
getParentNode
(),
w
==
d
.
move
.
TYPE_PREV
?
q
.
getIndex
():
q
.
getIndex
()
+
1
,
C
)}
else
if
(
p
&&
w
==
d
.
move
.
TYPE_INNER
)
f
.
addNodes
(
h
,
q
,
-
1
,
C
);
else
if
(
p
)
f
.
addNodes
(
h
,
q
.
getParentNode
(),
w
==
d
.
move
.
TYPE_PREV
?
q
.
getIndex
():
q
.
getIndex
()
+
1
,
C
);
else
if
(
w
!=
d
.
move
.
TYPE_NEXT
)
for
(
a
=
0
,
c
=
C
.
length
;
a
<
c
;
a
++
)
f
.
moveNode
(
h
,
q
,
C
[
a
],
w
,
!
1
);
else
for
(
a
=-
1
,
c
=
C
.
length
-
1
;
a
<
c
;
c
--
)
f
.
moveNode
(
h
,
q
,
C
[
c
],
w
,
!
1
);
f
.
selectNodes
(
h
,
C
);
o
(
C
[
0
],
e
).
focus
().
blur
();
e
.
treeObj
.
trigger
(
d
.
event
.
DROP
,[
b
,
h
.
treeId
,
C
,
q
,
w
,
p
])};
w
==
d
.
move
.
TYPE_INNER
&&
g
.
canAsync
(
h
,
q
)?
f
.
asyncNode
(
h
,
q
,
!
1
,
a
):
a
()}}
else
f
.
selectNodes
(
x
,
l
),
e
.
treeObj
.
trigger
(
d
.
event
.
DROP
,[
b
,
e
.
treeId
,
l
,
null
,
null
,
null
])}}
function
k
(){
return
!
1
}
var
i
,
j
,
e
=
m
.
getSetting
(
b
.
data
.
treeId
),
B
=
m
.
getRoot
(
e
),
t
=
m
.
getRoots
();
if
(
b
.
button
==
2
||!
e
.
edit
.
enable
||!
e
.
edit
.
drag
.
isCopy
&&!
e
.
edit
.
drag
.
isMove
)
return
!
0
;
var
p
=
b
.
target
,
q
=
m
.
getRoot
(
e
).
curSelectedList
,
l
=
[];
if
(
m
.
isSelectedNode
(
e
,
a
))
for
(
i
=
0
,
j
=
q
.
length
;
i
<
j
;
i
++
){
if
(
q
[
i
].
editNameFlag
&&
g
.
eqs
(
p
.
tagName
,
"
input
"
)
&&
p
.
getAttribute
(
"
treeNode
"
+
d
.
id
.
INPUT
)
!==
null
)
return
!
0
;
l
.
push
(
q
[
i
]);
if
(
l
[
0
].
parentTId
!==
q
[
i
].
parentTId
){
l
=
[
a
];
break
}}
else
l
=
[
a
];
f
.
editNodeBlur
=!
0
;
f
.
cancelCurEditNode
(
e
);
var
F
=
v
(
e
.
treeObj
.
get
(
0
).
ownerDocument
),
M
=
v
(
e
.
treeObj
.
get
(
0
).
ownerDocument
.
body
),
D
,
A
,
s
,
J
=!
1
,
h
=
e
,
x
=
e
,
H
,
R
,
T
=
null
,
U
=
null
,
u
=
null
,
w
=
d
.
move
.
TYPE_INNER
,
N
=
b
.
clientX
,
O
=
b
.
clientY
,
L
=
(
new
Date
).
getTime
();
g
.
uCanDo
(
e
)
&&
F
.
bind
(
"
mousemove
"
,
c
);
F
.
bind
(
"
mouseup
"
,
r
);
F
.
bind
(
"
selectstart
"
,
k
);
b
.
preventDefault
&&
b
.
preventDefault
();
return
!
0
}};
v
.
extend
(
!
0
,
v
.
fn
.
zTree
.
consts
,
I
);
v
.
extend
(
!
0
,
v
.
fn
.
zTree
.
_z
,{
tools
:{
getAbs
:
function
(
b
){
b
=
b
.
getBoundingClientRect
();
return
[
b
.
left
+
(
document
.
body
.
scrollLeft
+
document
.
documentElement
.
scrollLeft
),
b
.
top
+
(
document
.
body
.
scrollTop
+
document
.
documentElement
.
scrollTop
)]},
inputFocus
:
function
(
b
){
b
.
get
(
0
)
&&
(
b
.
focus
(),
g
.
setCursorPosition
(
b
.
get
(
0
),
b
.
val
().
length
))},
inputSelect
:
function
(
b
){
b
.
get
(
0
)
&&
(
b
.
focus
(),
b
.
select
())},
setCursorPosition
:
function
(
b
,
a
){
if
(
b
.
setSelectionRange
)
b
.
focus
(),
b
.
setSelectionRange
(
a
,
a
);
else
if
(
b
.
createTextRange
){
var
c
=
b
.
createTextRange
();
c
.
collapse
(
!
0
);
c
.
moveEnd
(
"
character
"
,
a
);
c
.
moveStart
(
"
character
"
,
a
);
c
.
select
()}},
showIfameMask
:
function
(
b
,
a
){
for
(
var
c
=
m
.
getRoot
(
b
);
c
.
dragMaskList
.
length
>
0
;)
c
.
dragMaskList
[
0
].
remove
(),
c
.
dragMaskList
.
shift
();
if
(
a
)
for
(
var
d
=
o
(
"
iframe
"
,
b
),
f
=
0
,
i
=
d
.
length
;
f
<
i
;
f
++
){
var
j
=
d
.
get
(
f
),
e
=
g
.
getAbs
(
j
),
j
=
o
(
"
<div id='zTreeMask_
"
+
f
+
"
' class='zTreeMask' style='top:
"
+
e
[
1
]
+
"
px; left:
"
+
e
[
0
]
+
"
px; width:
"
+
j
.
offsetWidth
+
"
px; height:
"
+
j
.
offsetHeight
+
"
px;'></div>
"
,
b
);
j
.
appendTo
(
o
(
"
body
"
,
b
));
c
.
dragMaskList
.
push
(
j
)}}},
view
:{
addEditBtn
:
function
(
b
,
a
){
if
(
!
(
a
.
editNameFlag
||
o
(
a
,
d
.
id
.
EDIT
,
b
).
length
>
0
)
&&
g
.
apply
(
b
.
edit
.
showRenameBtn
,[
b
.
treeId
,
a
],
b
.
edit
.
showRenameBtn
)){
var
c
=
o
(
a
,
d
.
id
.
A
,
b
),
r
=
"
<span class='
"
+
d
.
className
.
BUTTON
+
"
edit' id='
"
+
a
.
tId
+
d
.
id
.
EDIT
+
"
' title='
"
+
g
.
apply
(
b
.
edit
.
renameTitle
,[
b
.
treeId
,
a
],
b
.
edit
.
renameTitle
)
+
"
' treeNode
"
+
d
.
id
.
EDIT
+
"
style='display:none;'></span>
"
;
c
.
append
(
r
);
o
(
a
,
d
.
id
.
EDIT
,
b
).
bind
(
"
click
"
,
function
(){
if
(
!
g
.
uCanDo
(
b
)
||
g
.
apply
(
b
.
callback
.
beforeEditName
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
!
1
;
f
.
editNode
(
b
,
a
);
return
!
1
}).
show
()}},
addRemoveBtn
:
function
(
b
,
a
){
if
(
!
(
a
.
editNameFlag
||
o
(
a
,
d
.
id
.
REMOVE
,
b
).
length
>
0
)
&&
g
.
apply
(
b
.
edit
.
showRemoveBtn
,[
b
.
treeId
,
a
],
b
.
edit
.
showRemoveBtn
)){
var
c
=
o
(
a
,
d
.
id
.
A
,
b
),
r
=
"
<span class='
"
+
d
.
className
.
BUTTON
+
"
remove' id='
"
+
a
.
tId
+
d
.
id
.
REMOVE
+
"
' title='
"
+
g
.
apply
(
b
.
edit
.
removeTitle
,[
b
.
treeId
,
a
],
b
.
edit
.
removeTitle
)
+
"
' treeNode
"
+
d
.
id
.
REMOVE
+
"
style='display:none;'></span>
"
;
c
.
append
(
r
);
o
(
a
,
d
.
id
.
REMOVE
,
b
).
bind
(
"
click
"
,
function
(){
if
(
!
g
.
uCanDo
(
b
)
||
g
.
apply
(
b
.
callback
.
beforeRemove
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
!
1
;
f
.
removeNode
(
b
,
a
);
b
.
treeObj
.
trigger
(
d
.
event
.
REMOVE
,
[
b
.
treeId
,
a
]);
return
!
1
}).
bind
(
"
mousedown
"
,
function
(){
return
!
0
}).
show
()}},
addHoverDom
:
function
(
b
,
a
){
if
(
m
.
getRoots
().
showHoverDom
)
a
.
isHover
=!
0
,
b
.
edit
.
enable
&&
(
f
.
addEditBtn
(
b
,
a
),
f
.
addRemoveBtn
(
b
,
a
)),
g
.
apply
(
b
.
view
.
addHoverDom
,[
b
.
treeId
,
a
])},
cancelCurEditNode
:
function
(
b
,
a
,
c
){
var
r
=
m
.
getRoot
(
b
),
k
=
b
.
data
.
key
.
name
,
i
=
r
.
curEditNode
;
if
(
i
){
var
j
=
r
.
curEditInput
,
a
=
a
?
a
:
c
?
i
[
k
]:
j
.
val
();
if
(
g
.
apply
(
b
.
callback
.
beforeRename
,[
b
.
treeId
,
i
,
a
,
c
],
!
0
)
===!
1
)
return
!
1
;
i
[
k
]
=
a
;
o
(
i
,
d
.
id
.
A
,
b
).
removeClass
(
d
.
node
.
CURSELECTED_EDIT
);
q
,
-
1
,
C
):
f
.
addNodes
(
h
,
q
.
getParentNode
(),
w
==
d
.
move
.
TYPE_PREV
?
q
.
getIndex
():
q
.
getIndex
()
+
1
,
C
)}
else
if
(
p
&&
w
==
d
.
move
.
TYPE_INNER
)
f
.
addNodes
(
h
,
q
,
-
1
,
C
);
else
if
(
p
)
f
.
addNodes
(
h
,
q
.
getParentNode
(),
w
==
d
.
move
.
TYPE_PREV
?
q
.
getIndex
():
q
.
getIndex
()
+
1
,
C
);
else
if
(
w
!=
d
.
move
.
TYPE_NEXT
)
for
(
a
=
0
,
c
=
C
.
length
;
a
<
c
;
a
++
)
f
.
moveNode
(
h
,
q
,
C
[
a
],
w
,
!
1
);
else
for
(
a
=-
1
,
c
=
C
.
length
-
1
;
a
<
c
;
c
--
)
f
.
moveNode
(
h
,
q
,
C
[
c
],
w
,
!
1
);
f
.
selectNodes
(
h
,
C
);
if
(
a
=
o
(
C
[
0
],
e
).
get
(
0
))
if
(
a
.
scrollIntoView
)
a
.
scrollIntoView
();
else
try
{
a
.
focus
().
blur
()}
catch
(
r
){}
e
.
treeObj
.
trigger
(
d
.
event
.
DROP
,
[
b
,
h
.
treeId
,
C
,
q
,
w
,
p
])};
w
==
d
.
move
.
TYPE_INNER
&&
g
.
canAsync
(
h
,
q
)?
f
.
asyncNode
(
h
,
q
,
!
1
,
a
):
a
()}}
else
f
.
selectNodes
(
x
,
l
),
e
.
treeObj
.
trigger
(
d
.
event
.
DROP
,[
b
,
e
.
treeId
,
l
,
null
,
null
,
null
])}}
function
k
(){
return
!
1
}
var
i
,
j
,
e
=
m
.
getSetting
(
b
.
data
.
treeId
),
B
=
m
.
getRoot
(
e
),
t
=
m
.
getRoots
();
if
(
b
.
button
==
2
||!
e
.
edit
.
enable
||!
e
.
edit
.
drag
.
isCopy
&&!
e
.
edit
.
drag
.
isMove
)
return
!
0
;
var
p
=
b
.
target
,
q
=
m
.
getRoot
(
e
).
curSelectedList
,
l
=
[];
if
(
m
.
isSelectedNode
(
e
,
a
))
for
(
i
=
0
,
j
=
q
.
length
;
i
<
j
;
i
++
){
if
(
q
[
i
].
editNameFlag
&&
g
.
eqs
(
p
.
tagName
,
"
input
"
)
&&
p
.
getAttribute
(
"
treeNode
"
+
d
.
id
.
INPUT
)
!==
null
)
return
!
0
;
l
.
push
(
q
[
i
]);
if
(
l
[
0
].
parentTId
!==
q
[
i
].
parentTId
){
l
=
[
a
];
break
}}
else
l
=
[
a
];
f
.
editNodeBlur
=!
0
;
f
.
cancelCurEditNode
(
e
);
var
F
=
v
(
e
.
treeObj
.
get
(
0
).
ownerDocument
),
M
=
v
(
e
.
treeObj
.
get
(
0
).
ownerDocument
.
body
),
D
,
A
,
s
,
J
=!
1
,
h
=
e
,
x
=
e
,
H
,
R
,
T
=
null
,
U
=
null
,
u
=
null
,
w
=
d
.
move
.
TYPE_INNER
,
N
=
b
.
clientX
,
O
=
b
.
clientY
,
L
=
(
new
Date
).
getTime
();
g
.
uCanDo
(
e
)
&&
F
.
bind
(
"
mousemove
"
,
c
);
F
.
bind
(
"
mouseup
"
,
r
);
F
.
bind
(
"
selectstart
"
,
k
);
b
.
preventDefault
&&
b
.
preventDefault
();
return
!
0
}};
v
.
extend
(
!
0
,
v
.
fn
.
zTree
.
consts
,
I
);
v
.
extend
(
!
0
,
v
.
fn
.
zTree
.
_z
,{
tools
:{
getAbs
:
function
(
b
){
b
=
b
.
getBoundingClientRect
();
return
[
b
.
left
+
(
document
.
body
.
scrollLeft
+
document
.
documentElement
.
scrollLeft
),
b
.
top
+
(
document
.
body
.
scrollTop
+
document
.
documentElement
.
scrollTop
)]},
inputFocus
:
function
(
b
){
b
.
get
(
0
)
&&
(
b
.
focus
(),
g
.
setCursorPosition
(
b
.
get
(
0
),
b
.
val
().
length
))},
inputSelect
:
function
(
b
){
b
.
get
(
0
)
&&
(
b
.
focus
(),
b
.
select
())},
setCursorPosition
:
function
(
b
,
a
){
if
(
b
.
setSelectionRange
)
b
.
focus
(),
b
.
setSelectionRange
(
a
,
a
);
else
if
(
b
.
createTextRange
){
var
c
=
b
.
createTextRange
();
c
.
collapse
(
!
0
);
c
.
moveEnd
(
"
character
"
,
a
);
c
.
moveStart
(
"
character
"
,
a
);
c
.
select
()}},
showIfameMask
:
function
(
b
,
a
){
for
(
var
c
=
m
.
getRoot
(
b
);
c
.
dragMaskList
.
length
>
0
;)
c
.
dragMaskList
[
0
].
remove
(),
c
.
dragMaskList
.
shift
();
if
(
a
)
for
(
var
d
=
o
(
"
iframe
"
,
b
),
f
=
0
,
i
=
d
.
length
;
f
<
i
;
f
++
){
var
j
=
d
.
get
(
f
),
e
=
g
.
getAbs
(
j
),
j
=
o
(
"
<div id='zTreeMask_
"
+
f
+
"
' class='zTreeMask' style='top:
"
+
e
[
1
]
+
"
px; left:
"
+
e
[
0
]
+
"
px; width:
"
+
j
.
offsetWidth
+
"
px; height:
"
+
j
.
offsetHeight
+
"
px;'></div>
"
,
b
);
j
.
appendTo
(
o
(
"
body
"
,
b
));
c
.
dragMaskList
.
push
(
j
)}}},
view
:{
addEditBtn
:
function
(
b
,
a
){
if
(
!
(
a
.
editNameFlag
||
o
(
a
,
d
.
id
.
EDIT
,
b
).
length
>
0
)
&&
g
.
apply
(
b
.
edit
.
showRenameBtn
,[
b
.
treeId
,
a
],
b
.
edit
.
showRenameBtn
)){
var
c
=
o
(
a
,
d
.
id
.
A
,
b
),
r
=
"
<span class='
"
+
d
.
className
.
BUTTON
+
"
edit' id='
"
+
a
.
tId
+
d
.
id
.
EDIT
+
"
' title='
"
+
g
.
apply
(
b
.
edit
.
renameTitle
,[
b
.
treeId
,
a
],
b
.
edit
.
renameTitle
)
+
"
' treeNode
"
+
d
.
id
.
EDIT
+
"
style='display:none;'></span>
"
;
c
.
append
(
r
);
o
(
a
,
d
.
id
.
EDIT
,
b
).
bind
(
"
click
"
,
function
(){
if
(
!
g
.
uCanDo
(
b
)
||
g
.
apply
(
b
.
callback
.
beforeEditName
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
!
1
;
f
.
editNode
(
b
,
a
);
return
!
1
}).
show
()}}
,
a
ddRemoveBtn
:
function
(
b
,
a
){
if
(
!
(
a
.
editNameFlag
||
o
(
a
,
d
.
id
.
REMOVE
,
b
).
length
>
0
)
&&
g
.
apply
(
b
.
edit
.
showRemoveBtn
,[
b
.
treeId
,
a
],
b
.
edit
.
showRemoveBtn
)){
var
c
=
o
(
a
,
d
.
id
.
A
,
b
),
r
=
"
<span class='
"
+
d
.
className
.
BUTTON
+
"
remove' id='
"
+
a
.
tId
+
d
.
id
.
REMOVE
+
"
' title='
"
+
g
.
apply
(
b
.
edit
.
removeTitle
,[
b
.
treeId
,
a
],
b
.
edit
.
removeTitle
)
+
"
' treeNode
"
+
d
.
id
.
REMOVE
+
"
style='display:none;'></span>
"
;
c
.
append
(
r
);
o
(
a
,
d
.
id
.
REMOVE
,
b
).
bind
(
"
click
"
,
function
(){
if
(
!
g
.
uCanDo
(
b
)
||
g
.
apply
(
b
.
callback
.
beforeRemove
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
!
1
;
f
.
removeNode
(
b
,
a
);
b
.
treeObj
.
trigger
(
d
.
event
.
REMOVE
,
[
b
.
treeId
,
a
]);
return
!
1
}).
bind
(
"
mousedown
"
,
function
(){
return
!
0
}).
show
()}},
addHoverDom
:
function
(
b
,
a
){
if
(
m
.
getRoots
().
showHoverDom
)
a
.
isHover
=!
0
,
b
.
edit
.
enable
&&
(
f
.
addEditBtn
(
b
,
a
),
f
.
addRemoveBtn
(
b
,
a
)),
g
.
apply
(
b
.
view
.
addHoverDom
,[
b
.
treeId
,
a
])},
cancelCurEditNode
:
function
(
b
,
a
,
c
){
var
r
=
m
.
getRoot
(
b
),
k
=
b
.
data
.
key
.
name
,
i
=
r
.
curEditNode
;
if
(
i
){
var
j
=
r
.
curEditInput
,
a
=
a
?
a
:
c
?
i
[
k
]:
j
.
val
();
if
(
g
.
apply
(
b
.
callback
.
beforeRename
,[
b
.
treeId
,
i
,
a
,
c
],
!
0
)
===!
1
)
return
!
1
;
i
[
k
]
=
a
;
o
(
i
,
d
.
id
.
A
,
b
).
removeClass
(
d
.
node
.
CURSELECTED_EDIT
);
j
.
unbind
();
f
.
setNodeName
(
b
,
i
);
i
.
editNameFlag
=!
1
;
r
.
curEditNode
=
null
;
r
.
curEditInput
=
null
;
f
.
selectNode
(
b
,
i
,
!
1
);
b
.
treeObj
.
trigger
(
d
.
event
.
RENAME
,[
b
.
treeId
,
i
,
c
])}
return
r
.
noSelection
=!
0
},
editNode
:
function
(
b
,
a
){
var
c
=
m
.
getRoot
(
b
);
f
.
editNodeBlur
=!
1
;
if
(
m
.
isSelectedNode
(
b
,
a
)
&&
c
.
curEditNode
==
a
&&
a
.
editNameFlag
)
setTimeout
(
function
(){
g
.
inputFocus
(
c
.
curEditInput
)},
0
);
else
{
var
r
=
b
.
data
.
key
.
name
;
a
.
editNameFlag
=!
0
;
f
.
removeTreeDom
(
b
,
a
);
f
.
cancelCurEditNode
(
b
);
f
.
selectNode
(
b
,
a
,
!
1
);
o
(
a
,
d
.
id
.
SPAN
,
b
).
html
(
"
<input type=text class='rename' id='
"
+
a
.
tId
+
d
.
id
.
INPUT
+
"
' treeNode
"
+
d
.
id
.
INPUT
+
"
>
"
);
var
k
=
o
(
a
,
d
.
id
.
INPUT
,
b
);
k
.
attr
(
"
value
"
,
a
[
r
]);
b
.
edit
.
editNameSelectAll
?
g
.
inputSelect
(
k
):
g
.
inputFocus
(
k
);
k
.
bind
(
"
blur
"
,
function
(){
f
.
editNodeBlur
||
f
.
cancelCurEditNode
(
b
)}).
bind
(
"
keydown
"
,
function
(
a
){
a
.
keyCode
==
"
13
"
?(
f
.
editNodeBlur
=!
0
,
f
.
cancelCurEditNode
(
b
)):
a
.
keyCode
==
"
27
"
&&
f
.
cancelCurEditNode
(
b
,
null
,
!
0
)}).
bind
(
"
click
"
,
function
(){
return
!
1
}).
bind
(
"
dblclick
"
,
function
(){
return
!
1
});
o
(
a
,
d
.
id
.
A
,
b
).
addClass
(
d
.
node
.
CURSELECTED_EDIT
);
c
.
curEditInput
=
k
;
c
.
noSelection
=
!
1
;
c
.
curEditNode
=
a
}},
moveNode
:
function
(
b
,
a
,
c
,
r
,
k
,
i
){
var
j
=
m
.
getRoot
(
b
),
e
=
b
.
data
.
key
.
children
;
if
(
a
!=
c
&&
(
!
b
.
data
.
keep
.
leaf
||!
a
||
a
.
isParent
||
r
!=
d
.
move
.
TYPE_INNER
)){
var
g
=
c
.
parentTId
?
c
.
getParentNode
():
j
,
t
=
a
===
null
||
a
==
j
;
t
&&
a
===
null
&&
(
a
=
j
);
if
(
t
)
r
=
d
.
move
.
TYPE_INNER
;
j
=
a
.
parentTId
?
a
.
getParentNode
():
j
;
if
(
r
!=
d
.
move
.
TYPE_PREV
&&
r
!=
d
.
move
.
TYPE_NEXT
)
r
=
d
.
move
.
TYPE_INNER
;
if
(
r
==
d
.
move
.
TYPE_INNER
)
if
(
t
)
c
.
parentTId
=
null
;
else
{
if
(
!
a
.
isParent
)
a
.
isParent
=!
0
,
a
.
open
=!!
a
.
open
,
f
.
setNodeLineIcos
(
b
,
a
);
c
.
parentTId
=
a
.
tId
}
var
p
;
...
...
js/jquery.ztree.exhide-3.5.js
浏览文件 @
aab82ed4
/*
* JQuery zTree exHideNodes v3.5.19.
2
* JQuery zTree exHideNodes v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
function
(
$
){
//default init node of exLib
...
...
js/jquery.ztree.exhide-3.5.min.js
浏览文件 @
aab82ed4
/*
* JQuery zTree exHideNodes v3.5.19.
2
* JQuery zTree exHideNodes v3.5.19.
3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2015-1
1-15
* Date: 2015-1
2-04
*/
(
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
,
b
){
for
(
a
=
a
.
getPreNode
();
a
;){
if
(
a
.
isLastNode
){
a
.
isLastNode
=!
1
;
b
&&
d
.
setNodeLineIcos
(
c
,
a
);
break
}
if
(
a
.
isFirstNode
)
break
;
a
=
a
.
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
=
...
...
log v3.x.txt
浏览文件 @
aab82ed4
...
...
@@ -13,6 +13,9 @@
</font>
*2015.12.04* v3.5.19.3
* 【修改】为避免定位节点时抢焦点, 使用 scrollIntoView 方法替换之前的 focus 方法(对于IE6等旧浏览器仍然使用 focus方法)
*2015.11.15* v3.5.19.2
* 【增加】给节点名称的 span 标签增加 class,便于用户设置 css
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录