全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jsTree事件和交互以及插件plugins详解

本文为大家分享了jsTree事件和交互以及插件plugins,供大家参考,具体内容如下

1、事件

jsTree在容器中触发变量事件,你可以浏览所有事件,然后了解如何进行监听:https://www.jstree.com/api/#/?q=.jstree%20Event

通过data参数获取更多详细信息关于事件检查。

更多情况下就是你会得到所有节点对象,如果你通过ID获取这个节点,查看节点使用.get_node().

$('#jstree') 
 // listen for event 
 .on('changed.jstree', function (e, data) { 
 var i, j, r = []; 
 for(i = 0, j = data.selected.length; i < j; i++) { 
 r.push(data.instance.get_node(data.selected[i]).text); 
 } 
 $('#event_result').html('Selected: ' + r.join(', ')); 
 }) 
 // create the instance 
 .jstree(); 

2.交互

为了在一个实例中调用一个方法,你必须要获取实例引用然后调用方法,这个例子展示如何获取一个引用然后调取一个方法。

可以查看API获取更多的方法:https://www.jstree.com/api/#/?q=(

// 3 ways of doing the same thing 
$('#jstree').jstree(true) 
 .select_node('mn1'); 
$('#jstree') 
 .jstree('select_node', 'mn2'); 
$.jstree.reference('#jstree') 
 .select_node('mn3'); 

3、插件

jsTree有些功能被移除核心,只有你需要的时候才使用它,为了确保使用插件,需要使用plugins参数配置选项,将插件名称添加到一个数组中。

举个例子确保所有插件都可以使用:(只要设置你需要使用的插件)

"plugins" : [ 
 "checkbox", 
 "contextmenu", 
 "dnd", 
 "massload", 
 "search", 
 "sort", 
 "state", 
 "types", 
 "unique", 
 "wholerow", 
 "changed", 
 "conditionalselect" 
] 

这里有快速预览每一个插件

3.1、changed plugin (改变插件)

这个插件添加关于选择改变的额外的信息,一旦包含plugins配置选项,每个changed.jstree事件数据将会包含一个新的属性名称为changed,它将给出最后关于seleted和deselected节点的事件(changed.jstree)

$(function () { 
 $("#plugins") 
 .on("changed.jstree", function (e, data) { 
 console.log(data.changed.selected); // newly selected 
 console.log(data.changed.deselected); // newly deselected 
 }) 
 .jstree({ 
 "plugins" : [ "changed" ] 
 }); 
}); 

3.2.checked plugin(复选框)

这个插件将会在每个节点前面渲染复选框的图标,使得多选变得更加容易。

它也支持三态,意味着一个节点有些子节点是选中,这个节点将会被渲染成未确定,这个状态可以传播。你可以通过级联配置选项来微调级联选项。

记住级联会复选框会检查所有节点,即使是不可用的节点。

不确定状态是一个自动计算的,但是如果你是使用AJAX加载形成树想要渲染一个节点作为不确定状态通过设置属性“undetermined”:true

你可以在API找到所有配置复选框的选项https://www.jstree.com/api/#/?q=$.jstree.defaults.checkbox

$(function () { 
 $("#plugins1").jstree({ 
 "checkbox" : { 
 "keep_selected_style" : false 
 }, 
 "plugins" : [ "checkbox" ] 
 }); 
}); 

3.3 conditionalselect plugin(条件插件)

这个插件重写了activate_node函数(就是用户选择节点将会调用的函数),你可以通过回调避免这个函数被调用。

$(function () { 
 $("#plugins10").jstree({ 
 "conditionalselect" : function (node, event) { 
 return false; 
 }, 
 "plugins" : [ "conditionalselect" ] 
 }); 
}); 

3.4(Contextmenu plugin)上下文菜单插件
这插件就是你在一个节点上右键会弹出一个功能列表菜单。
你可以通过API找所有contextmenu插件的配置选项:点击打开链接

$(function () { 
 $("#plugins2").jstree({ 
 "core" : { 
 // so that create works 
 "check_callback" : true 
 }, 
 "plugins" : [ "contextmenu" ] 
 }); 
}); 

3.5 (drag&drop)拖拽插件

这个插件可以通过拖拽来重新改变树的结构。
你可以通过API找到更多的配置选项:点击打开链接

3.6.Massloadplugin(惯性负载插件)
这个插件通过一次请求(使用的是延迟加载)加载节点
你可以通过API找到更多的配置选项:点击打开链接

$(function () { 
 $("#plugins10").jstree({ 
 "core" : { 
 "data" : { .. AJAX config .. } 
 }, 
 "massload" : { 
 "url" : "/some/path", 
 "data" : function (nodes) { 
 return { "ids" : nodes.join(",") }; 
 } 
 } 
 "plugins" : [ "massload", "state" ] 
 }); 
}); 

3.7.(search plugin) 搜索插件
这个插件可以在一棵树搜索对应的条目。
你可以通过API找到更多的配置选项:点击打开链接

 $("#plugins4").jstree({ 
 "plugins" : [ "search" ] 
 }); 
 var to = false; 
 $('#plugins4_q').keyup(function () { 
 if(to) { clearTimeout(to); } 
 to = setTimeout(function () { 
 var v = $('#plugins4_q').val(); 
 $('#plugins4').jstree(true).search(v); 
 }, 250); 
 }); 
}); 

3.8. sort plugin(排序插件)

这个插件可以重新对于同一级的条目进行排序,默认采用数字或26字母的顺序,你可以通过配置对比函数:点击打开链接

$(function () { 
 $("#plugins5").jstree({ 
 "plugins" : [ "sort" ] 
 }); 
}); 

3.9.state plugin(状态插件)

这个插件保存所有打开和选中的节点到用户浏览器中,所以当再次返回相同的树,先前的状态将会被恢复
你可以通过API获取更多状态插件的配置选项:点击打开链接,你可以通过选中一个节点,然后刷新该页面就可以看到变化。

$(function () { 
 $("#plugins6").jstree({ 
 "state" : { "key" : "demo2" }, 
 "plugins" : [ "state" ] 
 }); 
}); 

3.10. types plugin(类型插件)

这个插件为一组节点预先定义类型,这就意味着为每个组很容易控制内部规则和图标。
为了设置节点类型,你可以使用set_type 或者在data中提供一个type属性
你可以通过API获取更多关于类型插件的配置选项和函数:点击打开链接

$(function () { 
 $("#plugins7").jstree({ 
 "types" : { 
 "default" : { 
 "icon" : "glyphicon glyphicon-flash" 
 }, 
 "demo" : { 
 "icon" : "glyphicon glyphicon-ok" 
 } 
 }, 
 "plugins" : [ "types" ] 
 }); 
}) 

3.11. unique plugin(唯一插件)
同一层级的条目不能出现相同的名称。这个插件没有选项,它只是避免在同一节点的重命名和移动其它节点时出现相同的名称。

$(function () { 
 $("#plugins8").jstree({ 
 "core" : { 
 "check_callback" : true 
 }, 
 "plugins" : [ "unique", "dnd" ] 
 }); 
}); 

3.12 wholerow plugin (整行插件)
这个插件就是一个条目占满一行,方便选择,如果是一个很大的树它可能会导致在老的浏览器变慢。

$(function () { 
 $("#plugins9").jstree({ 
 "plugins" : [ "wholerow" ] 
 }); 
}); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# jsTree  # plugins  # 基于jstree使用AJAX请求获取数据形成树  # 基于jstree使用JSON数据组装成树  # jstree创建无限分级树的方法【基于ajax动态创建子节点】  # 基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用  # jsTree 基于JQuery的排序节点 Bug  # jquery下jstree简单应用 - v1.0  # jquery.jstree 增加节点的双击事件代码  # 基于jsTree的无限级树JSON数据的转换代码  # JQery jstree 大数据量问题解决方法  # jsTree树控件(基于jQuery  # 超强悍)[推荐]  # 你可以  # 将会  # 复选框  # 是一个  # 加载  # 级联  # 不确定  # 的是  # 拖拽  # 如果你  # 你是  # 你会  # 你在  # 右键  # 很容易  # 这就  # 可以通过  # 弹出  # 写了  # 即使是 


相关文章: 如何在自有机房高效搭建专业网站?  清除minerd进程的简单方法  如何基于PHP生成高效IDC网络公司建站源码?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  文字头像制作网站推荐软件,醒图能自动配文字吗?  西安专业网站制作公司有哪些,陕西省建行官方网站?  如何在新浪SAE免费搭建个人博客?  魔方云NAT建站如何实现端口转发?  MySQL查询结果复制到新表的方法(更新、插入)  建站之星3.0如何解决常见操作问题?  如何打造高效商业网站?建站目的决定转化率  济南网站制作的价格,历城一职专官方网站?  建站之星2.7模板:企业网站建设与h5定制设计专题  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  实例解析Array和String方法  全景视频制作网站有哪些,全景图怎么做成网页?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  ,交易猫的商品怎么发布到网站上去?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  独立制作一个网站多少钱,建立网站需要花多少钱?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  建站主机如何选?性能与价格怎样平衡?  如何快速完成中国万网建站详细流程?  如何快速搭建个人网站并优化SEO?  如何在IIS中配置站点IP、端口及主机头?  济南企业网站制作公司,济南社保单位网上缴费步骤?  如何通过智能用户系统一键生成高效建站方案?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  建站之星在线版空间:自助建站+智能模板一键生成方案  如何选择高效便捷的WAP商城建站系统?  如何选择CMS系统实现快速建站与SEO优化?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何在服务器上三步完成建站并提升流量?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  如何获取开源自助建站系统免费下载链接?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  中山网站制作网页,中山新生登记系统登记流程?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  小建面朝正北,A点实际方位是否存在偏差? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。