javascript入门 之 ztree (六 结点的点击和展开/折叠事件)
1.注意:
测试点击事件时,如果要测试取消选中和追加选中,如果按住ctrl和win键无用,则需要先用鼠标左键按住,然后,在松开左键的前几毫秒按住ctrl键便可!
<!DOCTYPE html>
<script src="bower_components/ztree/js/jquery.ztree.excheck-3.5.js"></script>
<HTML>
<HEAD>
<TITLE> ZTREE DEMO - Standard Data </TITLE>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" href="bower_components/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">-->
<!--<script type="text/javascript" src="js/jquery-3.3.1.js"></script>-->
<!--<script type="text/javascript" src="bower_components/ztree/js/jquery.ztree.core-3.5.js"></script>-->
<!--<script type="text/javascript" src="bower_components/ztree/js/jquery.ztree.excheck-3.5.js"></script>-->
<!--<script type="text/javascript" src="bower_components/ztree/js/jquery.ztree.exedit-3.5.js"></script>-->
<!--<script type="text/javascript" src="bower_components/ztree/js/jquery.ztree.exhide-3.5.js"></script>-->
<!--<script type="text/javascript" src="bower_components/ztree/js/jquery.ztree.all-3.5.js"></script>-->
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<link rel="stylesheet" href="bower_components/ztree/css/zTreeStyle/demo.css" type="text/css">
<link rel="stylesheet" href="bower_components/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="bower_components/ztree/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="bower_components/ztree/js/jquery.ztree.core-3.5.js"></script>
</HEAD>
<BODY>
<div class="content_wrap">
<div class="zTreeDemoBackground left">
<ul id="demo1" class="ztree"></ul>
<ul id="demo2" class="ztree"></ul>
<ul id="demo3" class="ztree"></ul>
</div>
</div>
<SCRIPT type="text/javascript">
var setting1 = {
check: {
enable: true,
chkStyle: "checkbox"
},
view: {
autoCancelSelected:true, //点击节点时,按下 Ctrl 或 Cmd 键是否允许取消选择操作
selectedMulti:true //设置是否允许同时选中多个节点
},
data: {
simpleData: {
enable: true
}
},
callback: {
beforeClick: beforeClick1,
onClick: onClick1
}
};
var setting2 = {
data: {
simpleData: {
enable: true
}
},
callback: {
beforeClick: beforeClick2,
onClick: onClick2
}
};
var setting3 = {
data: {
simpleData: {
enable: true
}
},
callback:{
beforeCollapse: beforeCollapse, //用于捕获父节点折叠之前的事件回调函数,并且根据返回值确定是否允许折叠操作
//返回值是 true / false
//如果返回 false,zTree 将不会折叠节点,也无法触发 onCollapse 事件回调函数
beforeExpand: beforeExpand, //用于捕获父节点展开之前的事件回调函数,并且根据返回值确定是否允许展开操作
//返回值是 true / false
//如果返回 false,zTree 将不会展开节点,也无法触发 onExpand 事件回调函数
onCollapse: onCollapse, //用于捕获节点被折叠的事件回调函数
onExpand: onExpand //用于捕获节点被展开的事件回调函数
}
};
var nodes1 =[
{ id:1, pId:0, name:"普通的父节点",open:true},
{ id:11, pId:1, name:"叶子节点 - 1"},
{ id:12, pId:1, name:"叶子节点 - 2"},
{ id:2, pId:0, name:"NB的父节点",open:true},
{ id:21, pId:2, name:"叶子节点2 - 1"}
];
var nodes2 =[
{ id:1, pId:0, name:"普通的父节点",open:true},
{ id:11, pId:1, name:"叶子节点 - 1"},
{ id:2, pId:0, name:"NB的父节点",open:true},
{ id:21, pId:2, name:"叶子节点2 - 1"}
];
var nodes3 =[
{ id:1, pId:0, name:"父节点1",open:true},
{ id:11, pId:1, name:"叶子节点 - 1"},
{ id:12, pId:1, name:"叶子节点 - 2"},
{ id:13, pId:1, name:"父节点5(无法展开)",expand:false},
{ id:41, pId:13, name:"叶子节点 - 1"},
{ id:42, pId:13, name:"叶子节点 - 2"},
{ id:43, pId:13, name:"叶子节点 - 3"},
{ id:2, pId:0, name:"父节点2",open:true},
{ id:21, pId:2, name:"父结点3(无法折叠)",collapse:false},
{ id:31, pId:21, name:"叶子节点 - 1"},
{ id:32, pId:21, name:"叶子节点 - 2"},
{ id:33, pId:21, name:"叶子节点 - 3"},
];
function beforeClick1(treeId, treeNode, clickFlag) {
alert("点击前: " + treeNode.name + ' clickFlag:' + clickFlag.toString());
}
function onClick1(event, treeId, treeNode, clickFlag) {
alert("点击后: " + " (" + (clickFlag===1 ? "普通选中": (clickFlag===0 ? "取消选中" : "追加选中")) + ") clickFlag:" + clickFlag.toString());
}
function onClick2(event, treeId, treeNode, clickFlag) {
alert("该函数不会被执行");
}
function beforeClick2(treeId, treeNode, clickFlag) {
alert("点击前(不会有点击后,不会被选中): " + treeNode.name + ' clickFlag:' + clickFlag.toString());
return false;
}
function beforeCollapse(treeId, treeNode) {
alert(treeNode.name + '折叠前');
return (treeNode.collapse !== false);
}
function onCollapse(event, treeId, treeNode) {
alert(treeNode.name + '折叠后');
}
function beforeExpand(treeId, treeNode) {
alert(treeNode.name + '展开前');
return (treeNode.expand !== false);
}
function onExpand(event, treeId, treeNode) {
alert(treeNode.name + '展开后');
}
$(document).ready(function(){
$.fn.zTree.init($("#demo1"), setting1, nodes1);
$.fn.zTree.init($("#demo2"), setting2, nodes2);
$.fn.zTree.init($("#demo3"), setting3, nodes3);
$("#expandBtn").bind("click", {type:"expand"}, expandNode);
$("#collapseBtn").bind("click", {type:"collapse"}, expandNode);
$("#toggleBtn").bind("click", {type:"toggle"}, expandNode);
$("#expandSonBtn").bind("click", {type:"expandSon"}, expandNode);
$("#collapseSonBtn").bind("click", {type:"collapseSon"}, expandNode);
$("#expandAllBtn").bind("click", {type:"expandAll"}, expandNode);
$("#collapseAllBtn").bind("click", {type:"collapseAll"}, expandNode);
});
</SCRIPT>
</BODY>
</HTML>
javascript入门 之 ztree (六 结点的点击和展开/折叠事件)的更多相关文章
- javascript入门 之 ztree(七 结点的查询)
<!DOCTYPE html> <HTML> <HEAD> <meta http-equiv="content-type" content ...
- javascript入门 之 zTree(十四 增删查改)(二)
<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - addNodes / editName / rem ...
- javascript入门 之 zTree(十三 移动/复制事件)
<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - copyNode / moveNode</T ...
- javascript入门 之 zTree(十二 托拽事件(二))
1.逻辑可能有不完善的地方,如果发现,请指出. <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - d ...
- javascript入门 之 zTree(十一 托拽事件(一))
<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - drag & drop</TITLE ...
- javascript入门 之 ztree (十 checkbox选中事件)
<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - beforeCheck / onCheck< ...
- javascript入门 之 ztree(三 简单json数据)
<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - Standard Data </TITLE& ...
- javascript入门 之 zTree(十四 增删查改)(一)
<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - beforeEditName / beforeRe ...
- javascript入门 之 ztree (九 单/复选框问题)
<!DOCTYPE html> <HTML> <HEAD> <meta http-equiv="content-type" content ...
随机推荐
- 《Linux环境进程间通信》系列文章链接
深刻理解 Linux 进程间通信(IPC) http://www.ibm.com/developerworks/cn/linux/l-ipc/index.html Linux 环境进程间通信(一): ...
- require.context('.', true, /\.router\.js/) webpack 编译的时候读取目录文件
const routerList = [] function importAll (r) { r.keys().map(value => { r(value).default.map(item ...
- java猜数游戏(新手记录每天的作业)
//导入包 import java.util.Scanner;import java.util.Random; //定义一个类 public class Zcs{ //公共静态的主方法 public ...
- Python专题——详解enumerate和zip
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第7篇文章,我们继续介绍迭代相关. enumerate 首先介绍的是enumerate函数. 在我们日常编程的过程当 ...
- Spring WebFlux 入门
1. WebFlux介绍 Spring WebFlux 是 Spring Framework 5.0中引入的新的响应式web框架.与Spring MVC不同,它不需要Servlet API,是完全异步 ...
- css3实现旋转卡片
基本思路:父div使用相对定位包裹着两个子元素,子元素使用绝对定位,定位在同一个位置,初始时一个div翻转到后面隐藏,另一个在前面显示,当鼠标悬停在父元素上时,前面的子元素旋转180度,到背面隐藏:背 ...
- Selenium系列(五) - 键盘操作详细解读
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- Python批量修改Excel中的文件内容
import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join ...
- 零基础使用Swift学习数据科学
概述 Swift正迅速成为数据科学中最强大.最有效的语言之一 Swift与Python非常相似,所以你会发现2种语言的转换非常平滑 我们将介绍Swift的基础知识,并学习如何使用该语言构建你的第一个数 ...
- POJ - 3468 线段树单点查询,单点修改区间查询,区间修改模板(求和)
题意: 给定一个数字n,表示这段区间的总长度.然后输入n个数,然后输入q,然后输入a,b,表示查询a,b,区间和,或者输入c 再输入三个数字a,b,c,更改a,b区间为c 思路: 线段树首先就是递归建 ...