callback : {
onClick : onClickHandle
}//回调函数中写
/* 点击事件 */
function onClickHandle(event, treeId, treeNode){
var preClickedNode = window.preClickedNode; //获得最后一次点击的节点
window.preClickedNode=treeNode; //设置上次点击节点为刚刚点击的节点
event = window.event||event;//兼容IE
if(event.shiftKey&&preClickedNode){//当有是第二次点击并且按住shift键的时候
var obj = jQuery.fn.zTree.getZTreeObj(treeId); //获得树
obj.selectNode(preClickedNode,true); //把上次获得的节点设置为选中
var firstNode =obj.getNodeIndex(preClickedNode); //第一个节点
var lastNode =obj.getNodeIndex(treeNode); //最后一个节点
var count = lastNode - firstNode; //差
var nodeNew = preClickedNode;
if (count > 0) {
for (var i = 1; i < count; i++){
nodeNew = nodeNew.getNextNode();
// if(!nodeNew)break;//用于排除隐患
obj.selectNode(nodeNew, true); //选中每一个节点
}
}else {
for (var j = 1; j < (-count); j++) {
nodeNew = nodeNew.getPreNode();
// if(!nodeNew)break;//用于排除隐患
obj.selectNode(nodeNew, true); //选中每一个节点
}
}
}//else{
switch (treeNode.type)
{
case Constants.FormTree.FieldNode:
$("#fieldDiv").show();
$("#zoneDiv").hide();
FieldNodeCick(event, treeId, treeNode);
break;
case Constants.FormTree.ZoneNode:
$("#fieldDiv").hide();
$("#zoneDiv").show();
ZoneNodeCick(event, treeId, treeNode);
break;
case Constants.FormTree.FormNode:
$("#fieldDiv").hide();
$("#zoneDiv").hide();
break;
}
// }
}