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 (六 结点的点击和展开/折叠事件)的更多相关文章

  1. javascript入门 之 ztree(七 结点的查询)

    <!DOCTYPE html> <HTML> <HEAD> <meta http-equiv="content-type" content ...

  2. javascript入门 之 zTree(十四 增删查改)(二)

    <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - addNodes / editName / rem ...

  3. javascript入门 之 zTree(十三 移动/复制事件)

    <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - copyNode / moveNode</T ...

  4. javascript入门 之 zTree(十二 托拽事件(二))

    1.逻辑可能有不完善的地方,如果发现,请指出. <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - d ...

  5. javascript入门 之 zTree(十一 托拽事件(一))

    <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - drag & drop</TITLE ...

  6. javascript入门 之 ztree (十 checkbox选中事件)

    <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - beforeCheck / onCheck< ...

  7. javascript入门 之 ztree(三 简单json数据)

    <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - Standard Data </TITLE& ...

  8. javascript入门 之 zTree(十四 增删查改)(一)

    <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - beforeEditName / beforeRe ...

  9. javascript入门 之 ztree (九 单/复选框问题)

    <!DOCTYPE html> <HTML> <HEAD> <meta http-equiv="content-type" content ...

随机推荐

  1. 今天开dev的时候,config update一下别人的,但是忘了自己改过目录了,导致光看ip,想了半天,为什么接口不对

    今天开dev的时候,config update一下别人的,但是忘了自己改过目录了,导致光看ip,想了半天,为什么接口不对 baseUrl: {     //     // dev: 'http://1 ...

  2. EPX Studio开发平台简介

    大家问我最多的问题就是“EPX 是什么?”“EPX 能够用来做什么?”“EPX 有什么优势?”“EPX 与其它开发平台的区别是什么?” 问题林林总总,总也回答不完,希望通过正文前面的这段文字,来简要回 ...

  3. Python第一周作业

    import turtle turtle.color('black','red') turtle.pensize(10) turtle.begin_fill() for i in range(5): ...

  4. 前端视频直播技术总结及video.js在h5页面中的应用

    全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/12557070.html,多谢,=.=~ (如果对你有帮助的话请帮我点个赞啦) 目前有一个需求是在 ...

  5. 解析源码,彻底弄懂HashMap(持续更新中)

    为啥突然想着看HashMap源码了? 无意间看到有人说HashMap能考验Java程序员的基本功,之前我作为面试官帮公司招人的时候偶尔问起HashMap,大部分人回答基本都会用,且多数仅停留在put, ...

  6. 如何获取主键返回值(MySQL、Oracle)

    添加用户.返回主键 --场景:在执行新增用户sql后,service层返回新增用户的主键值(与mybatis一起使用) insert into user(username, sex, birthday ...

  7. sql 语句系列(字符串的遍历嵌入删除与统计)[八百章之第十一章]

    遍历字符串 我觉得首先要提出一个疑问: 一个数据库本身就是用于存储的,遍历字符串究竟有何意义? 先看如何实现的,毕竟sql service 是没有for循环,也没有loop和while的. selec ...

  8. 牛客练习赛60 A—F题解(缺E题)

    本蒟蒻这次只过了三题 赛后学习了一下出题人巨佬的标码(码风比我好多了 贴的代码有些是仿出题人)现在将自己的理解写下来与大家分享 A这个题一分析就是每个数字都会与所有数字&一下 (a&a ...

  9. 洛谷 P5639 【CSGRound2】守序者的尊严 题解

    原题链接 简要题意: 从 \(1\) 号位开始走,可以连续走过一段连续的 \(0\) ,每走一次,所有位置取反. (即 \(0 \gets 1\),\(1 \gets 0\)). 算法一 模拟暴力即可 ...

  10. C语言学生管理系统

    想练习一下链表,所以就有了这个用C写的学生管理系统 没有把它写入文件,才不是因为我懒哈哈哈,主要是为了练习链表的 #include<stdio.h> #include<stdlib. ...