jsTree插件简介(三)

UI-plugin

JSTree的UI插件:用来处理选择、不选和鼠标悬浮树选项的插件。

一、属性包括:

1、select_limit:指定一次可以选中几个节点,默认为-1,表示无限制选中。

2、select_multiple_modifier:处理当按住某个键时,用鼠标点击其他的节点可全部选中;(类似在文件目录中的按住ctrl并用鼠标选择其它目录或者文件);默认按键为"ctrl",可以用"shift","alt"等替代。

3、select_range_modifier:先选中一个节点,然后按住某个键位,再用鼠标点击另外一个节点,这样就选中这两个节点之间的部分并包含这两个节点,类似于windows中选中文件系统中的"shift",默认选项为"shift",可用"ctrl", "alt"等代替。

注意:使用这个选项选中的必须为兄弟节点。

4、select_parent_close:当选中节点的父节点关闭时是否选中父节点。若为"select_parent"则关闭父节点时选中父节点,若为"false"和"deselect"则当父节点关闭时不选中父节点。默认为"select_parent"。

5、select_parent_open:当程序运行过程中选中了一个节点并且这个节点的节点全是关闭的,这时要自动打开关闭的父节点。默认为"true"

6、select_prev_on_delete:当删除一个节点时默认选择前一个兄弟节点,若没有前一个兄弟节点,则选择父节点。默认为"true"

7、disable_selecting_children:默认为"false",如果设置为"true",你将无法选择这个节点的子节点。(待验证)

8、initially_select:当树完成加载时默认选中的节点,它需要节点的id值来标识。

贴一段官方的代码

[html] view plain copy

  1. <div class="panel">
  2. <h3>Using the UI plugin</h3>
  3. <div id="demo1" class="demo">
  4. <ul>
  5. <li id="phtml_1">
  6. <a href="#">Root node 1</a>
  7. <ul>
  8. <li id="phtml_2">
  9. <a href="#">Child node 1</a>
  10. </li>
  11. <li id="phtml_3">
  12. <a href="#">Child node 2</a>
  13. </li>
  14. </ul>
  15. </li>
  16. <li id="phtml_4">
  17. <a href="#">Root node 2</a>
  18. </li>
  19. </ul>
  20. </div>
  21. <script type="text/javascript" class="source">
  22. $(function () {
  23. $("#demo1").jstree({
  24. "ui" : {
  25. "select_limit" : 2,
  26. "select_multiple_modifier" : "ctrl",
  27. "selected_parent_close" : "select_parent",
  28. "initially_select" : [ "phtml_2" ]
  29. },
  30. "core" : { "initially_open" : [ "phtml_1" ] },
  31. "plugins" : [ "themes", "html_data", "ui" ]
  32. });
  33. });
  34. </script>
  35. </div>

二、函数包括:

1、._get_node(node, allow_multiple):覆盖了core组件的get_node函数。

如果node为null或者没有定义,并且allow_multiple为true,返回所有现在被选中的节点;

如果node为null或者没有定义,并且allow_multiple不为true,返回最后被选中的节点。

node:混合类型,可以为Dom node,jQuery node或指向元素在书中的选择点。

allow_multiple:是否返回所有节点或者node为null时最后一个被选中的节点。

2、.save_selected():保存树节点当前被选中的状态。(实现是保存在一个变量中,因此刷新页面后不存在)。这个函数和cookies plugin插件相关。主要在内部使用,事件触发函数。

3、.reselect():从save_selected()函数保存的变量恢复树的状态,主要在内部使用,事件触发函数。

4、.refresh(node):覆盖了core组件中的refresh函数。启用前刷新保存选择状态和事后恢复。

5、.hover_node(node):设置节点hoverd,事件触发函数。

node:mixed,混合类型,可以为Dom node,jQuery node或指向元素在书中的选择点。

6、dehover_node():删除目前已经hovered 节点,事件激发函数。

7、.select_node(node, check, event):

node:mixed,混合类型,可以为Dom node,jQuery node或指向元素在书中的选择点。

check:bool ,是否检测规则(检测"select_limit"选项等)并且做合适的行动或者仅仅选中被选中的节点。

event:event,内部使用,当点击一个节点时触发此动作。

8、.deslect_node(node), .toggle_select(node):这两个函数控制一个节点的选中状态,deselect_node激发了一个事件。

9、.get_selected(context):返回被选中的所有节点。

10、.deselect_all(context):补选中所有节点。

11、is_select(node):返回是否某个节点被选中。

本文代码见 http://download.csdn.net/detail/yizhizouxiaqu/4268775

之ui_plugin.html

原英文地址为:http://www.jstree.com/documentation/ui

时间: 2024-10-31 14:51:22

jsTree插件简介(三)的相关文章

PhoneGap 插件简介

PhoneGap 插件简介 #广州# OSC源创会第31期(12月27日)开始报名,OSC自曝家丑! 一.PhoneGap平台 前不久PhoneGap发布了1.0版本,这为移动开发大家族提供了又一个跨平台的解决方案.开发者只要有JavaScript.CSS3.Html5的基础就可以快速开发移动应用,并且一次开发支持iOS.iOS(xcode 4).Android.WebOS.Blackberry.Symbian 六大平台.不过,JavaScript的速度虽然在近些年提高了100倍,其速度还是无法

Sublime 常用插件简介

Sublime   常用插件简介 emmet: 前端必备神器.花个十几分钟学下Emmet语法 ,就可以极大提高web开发者HTML和CSS工作效率啦.一句话,牛逼---必备 CSS3: CSS3语法高亮.CSS语法提示,但是浏览器的私有属性不会高亮.     -----必备 CSS Extended Completions: 提示css文件(包括关联进来的)中的类名,非常好用. JavaScript Completions javascript原生语法提示, jQuery 提供了jQuery的A

利用jstree插件轻松构建树应用

利用jstree插件轻松构建树应用 最近完成了项目中的一个树状应用,第一次接触了jstree这个插件,总的来说它的官方文档还是比较详细的,但是在使用过程中还是出现了一些问题,下面我就来谈谈这款插件的使用和心得. 首先项目需要构建一棵树,利用jstree插件我们先在页面上静态的把这棵树渲染出来,参照官方文档(http://www.jstree.com/),代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head&g

MyEclipse安装插件的三种方法

Eclipse是开源项目,但很多插件需要手工集成,MyEclipse在Eclipse的基础上已经集成了很多可用插件,但很多时候MyEclipse同样需要再次安装插件,插件安装有三种方法,下面以SVN为例,详细阐述. Eclipse update siteURL: http://subclipse.tigris.org/update_1.8.x 下载地址: http://subclipse.tigris.org/files/documents/906/49151/site-1.8.4.zip 方法

MyEclipse安装插件的三种方法和使用心得

MyEclipse安装插件的三种方法和使用心得 本文讲解MyEclipse(MyEclipse10)的三种方法,以TestNG为例 Eclipse update site URL:  http://beust.com/eclipse. 一.通过MyEclipse Configuration Center在线安装 1. 打开MyEclipse10,在菜单栏选择MyEclipse→MyEclipse Configuration Center,即可进入到MyEclipse Configuration

Android插件简介

/** * @actor Stafen.D * @time 2015.02.06 * @blog http://www.cnblogs.com/stafen */ Android插件简介 Android下,默认的情况是,每个apk相互独立的,基本上每个应用都是一个dalvik虚拟机,都有一个uid,再配合上linux本身的权限机制,使得apk互通很难直接进行.但作为一个独立应用的集成,不管多少个apk,都可以并为一个单独的dalvik虚拟机,直观的反映给开发人员就是在shell下列出进程,那几个

【树莓派】【网摘】树莓派与XBMC及Kodi、LibreELEC插件(三)

之前的相关文章参考: [树莓派]树莓派与XBMC及Kodi.LibreELEC插件(一) [树莓派]树莓派与XBMC及Kodi.LibreELEC插件(二) [树莓派]树莓派与XBMC及Kodi.LibreELEC插件(三) ------------------------------------------------------------------------------------------ 这是在github上面的插件合集,可参考:https://github.com/taxigp

基于Krpano的Hotspot热区插件·第三版(重要升级)

1·优化代码,对部分代码进行了删减整合 2·功能分离,之前整个插件通过一个按键实现多个功能,本次更新将多个功能分给三个按钮,实现功能分化 3·新增操作撤销功能:当你绘制完热区后,如果不满意,可以进行撤销操作,这给整个插件的使用带来了极大的便利 版本下载 基于Krpano的Hotspot热区插件·第三版(重要升级)

使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization)

使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization) 前言: 这是 qt for python 的语言国际化,基于 UI 的,python 也有自身的语言国际化,两者是不同的. 先来看最终效果: 前期准备: 这次创建一个 main window 在 menu bar 加一个 language 的 menu: 我们还要对 action 进行一些设置,如下: 生成 .py 文件: 生成代码: 1 # -*- coding: utf-8 -*-