Maison interface Web js tutoriel jquery.jstree 增加节点的双击事件代码_jquery

jquery.jstree 增加节点的双击事件代码_jquery

May 16, 2016 pm 06:22 PM
节点

jsTree 是基于jquery的树插件,支持拖放、复制、删除、快捷键、多选、自定义节点图标、自定义右键菜单、跨页面保存状态等等,总之我想到的它基本上都有了,而且最值得表扬的是它让人感觉一点都不慢哦。

jsTree有节点选择事件,即

复制代码 代码如下:

.bind("select_node.jstree", function(e, data) {
//alert(data.rslt.obj.attr("id") + ":" + data.rslt.obj.attr("rel"));
})


其实我认为它更像是节点的单击事件,因为每次点节点的时候它都会触发,不管之前该节点是否已经被选中。

近日做个文件管理的东东,需要用到节点的双击事件,如双击某个节点打开该节点的编辑页面。
jquery.jstree 增加节点的双击事件代码_jquery
jstree虽然有双击事件,但是并非针对节点的,而是你双击树所在区域就会触发,如上图任何一个地方。

离节点双击事件最接近的应该就是节点选择事件,因此又是“照葫芦画瓢”啦。

分析
在第833行 this.get_container() 后是节点的单击事件
复制代码 代码如下:

.delegate("a", "click.jstree", $.proxy(function (event) {
event.preventDefault();
this.select_node(event.currentTarget, true, event);
}, this))


同样我再这里插入节点双击事件
复制代码 代码如下:

.delegate("a", "dblclick.jstree", $.proxy(function(event) {
event.preventDefault();
this.dblclick_node(event.currentTarget, true, event);
}, this))


接着,我再实现 dblclick_node 方法就可以了。

在第928行找到 select_node 的代码,比较复杂。但里面90%对于双击来说是没有用处的,如处理单选、多选、保存选择结果到cookies等。因此 dblclick_node 方法的实现要比 select_node 简单很多。
复制代码 代码如下:

dblclick_node: function(obj, check, e) {
obj = this._get_node(obj);
if (obj == -1 || !obj || !obj.length) { return false; }
this.__callback({ "obj": obj });
},


OK,就这样了。

使用例子
跟 select_node 用法一样
复制代码 代码如下:

.bind("dblclick_node.jstree", function(e, data) {
//alert(data.rslt.obj.attr("id") + ":" + data.rslt.obj.attr("rel"));
})


改造后的代码下载  /201007/yuanma/jquery.jstree.rar
顺便说说
jstree 跟另一个插件jquery validate 是水火不容的,当两者共存时,jstree虽然也可以构造树出来,但如僵尸一般不能展开。这里mark一个,日后试试能否修改。

作者:Bruce(编程的艺术世界)
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Interrogez le poids minimum dans le sous-arbre à partir du nœud X et la distance au plus D Interrogez le poids minimum dans le sous-arbre à partir du nœud X et la distance au plus D Aug 25, 2023 am 11:25 AM

Lors de la programmation informatique, il est parfois nécessaire de trouver le poids minimum d'un sous-arbre provenant d'un nœud spécifique, à condition que le sous-arbre ne puisse pas contenir de nœuds éloignés de plus de D unités du nœud spécifié. Ce problème se pose dans divers domaines et applications, notamment la théorie des graphes, les algorithmes arborescents et l'optimisation des réseaux. Un sous-arbre est un sous-ensemble d'une structure arborescente plus grande, le nœud spécifié servant de nœud racine du sous-arbre. Un sous-arbre contient tous les descendants du nœud racine et leurs arêtes de connexion. Le poids d'un nœud fait référence à une valeur spécifique attribuée à ce nœud, qui peut représenter son importance, sa signification ou d'autres mesures pertinentes. Dans ce problème, l’objectif est de trouver le poids minimum parmi tous les nœuds d’un sous-arbre tout en limitant le sous-arbre aux nœuds situés au plus à D unités du nœud racine. Dans l'article suivant, nous approfondirons la complexité de l'extraction des poids minimum des sous-arbres.

Comment implémenter les fonctions de copie et de coupure de nœuds des cartes mentales via Vue et jsmind ? Comment implémenter les fonctions de copie et de coupure de nœuds des cartes mentales via Vue et jsmind ? Aug 15, 2023 pm 05:57 PM

Comment implémenter les fonctions de copie et de coupure de nœuds des cartes mentales via Vue et jsmind ? La carte mentale est un outil de réflexion courant qui peut nous aider à organiser nos pensées et à trier notre logique de pensée. Les fonctions de copie et de coupe de nœuds sont des opérations couramment utilisées dans les cartes mentales, qui nous permettent de réutiliser plus facilement les nœuds existants et d'améliorer l'efficacité de l'organisation de la réflexion. Dans cet article, nous utiliserons les deux outils Vue et jsmind pour implémenter les fonctions de copie et de coupe de nœuds de la carte mentale. Tout d'abord, nous devons installer Vue et jsmind et créer

Quelle est la méthode pour supprimer un nœud dans js Quelle est la méthode pour supprimer un nœud dans js Sep 01, 2023 pm 05:00 PM

Les méthodes de suppression de nœuds dans js sont : 1. La méthode removeChild() est utilisée pour supprimer le nœud enfant spécifié du nœud parent. Elle nécessite deux paramètres. Le premier paramètre est le nœud enfant à supprimer et le deuxième paramètre est. le nœud parent. 2. La méthode parentNode.removeChild() peut être appelée directement via le nœud parent pour supprimer le nœud enfant ; 3. La méthode remove() peut supprimer directement le nœud sans spécifier le nœud parent ; L'attribut innerHTML est utilisé pour supprimer le contenu du nœud.

Trouvez le chemin le plus court entre deux nœuds à l'aide de l'algorithme Floyd-Warshal Trouvez le chemin le plus court entre deux nœuds à l'aide de l'algorithme Floyd-Warshal Sep 20, 2023 pm 02:21 PM

C++ a une macro, qui est définie comme un morceau de code ou une valeur attendue, et elle sera réutilisée chaque fois que l'utilisateur en aura besoin. L'algorithme de Floyd-Walshall est le processus permettant de trouver le chemin le plus court entre toutes les paires de sommets dans un graphe pondéré donné. L'algorithme suit une approche de programmation dynamique pour trouver le graphique de poids minimum. Comprenons la signification de l'algorithme de Floyd-Walshall à travers un diagramme - prenons le sommet 1 comme source et le sommet 4 comme destination et trouvons le chemin le plus court entre eux. Nous avons vu qu'il existe deux chemins qui peuvent être connectés au sommet cible 4. 1->4 – l'arête a un poids de 51->8->3->4 – le poids de l'arête (1+2+1) est 4. Dans le graphique I donné, nous voyons la plus petite arête reliant deux sommets. Voici donc le sommet

Comment créer, supprimer, ajouter et remplacer des nœuds d'éléments dans js (avec des exemples de code) Comment créer, supprimer, ajouter et remplacer des nœuds d'éléments dans js (avec des exemples de code) Aug 06, 2022 pm 05:26 PM

Cet article présente principalement comment créer, supprimer, ajouter et remplacer des nœuds d'éléments dans js. J'espère qu'il sera utile aux amis dans le besoin !

Vérifie si le chemin entre deux nœuds dans le graphique donné représente le chemin le plus court Vérifie si le chemin entre deux nœuds dans le graphique donné représente le chemin le plus court Sep 07, 2023 pm 06:57 PM

Pour vérifier si un chemin donné entre deux centres d'un graphique est conforme au chemin le plus court, cela peut être calculé en comparant le poids total du bord le long du chemin donné à la distance la plus courte entre des combinaisons des mêmes centres en utilisant un chemin le plus court fiable, tel que Calcul de Dijkstra ou calcul de Floyd-Warshall. Si tous les poids des bords sur un chemin donné correspondent à la suppression la plus limitée, alors cela représente le chemin le plus simple. Également : si le poids global du bord est plus important que la distance la plus courte, cela indique qu'il existe une courte distance entre les deux centres dans le graphique. Méthodes utilisées Algorithme de Dijkstra Algorithme Floyd−Warshall avec coût d'inversion marginal Algorithme gourmand Le calcul de Dijkstra peut être un calcul de parcours de graphe populaire

Avec le plug-in ChatGPT, c'est un nœud, mais pas un centre Avec le plug-in ChatGPT, c'est un nœud, mais pas un centre Apr 04, 2023 am 11:45 AM

OpenAI est un nœud (bien qu’important) dans le monde du dialogue robot-robot, mais ce n’est pas le centre. ChatGPT a lancé un mécanisme de plugin, ce qui constitue un développement très passionnant. Tout le monde a déclaré à l'unanimité qu'« un système d'exploitation était né ». Cette affirmation est complètement fausse. OpenAI est un nœud (bien qu’important) dans le monde du dialogue robot-robot, mais ce n’est pas le centre. J'ai toujours eu une image en tête : un monde où les robots parlent à des robots. Les gens discutent avec un robot et laissent le robot aider l'humain à accomplir des tâches grâce à ses amis robots. Le plugin ChatGPT démontre parfaitement le monde

Dans le programme C, traduisez le contenu suivant en chinois : Programme pour trouver le nième nœud à partir du bas d'une liste chaînée Dans le programme C, traduisez le contenu suivant en chinois : Programme pour trouver le nième nœud à partir du bas d'une liste chaînée Sep 13, 2023 pm 03:13 PM

Étant donné n nœuds, la tâche consiste à imprimer le nième nœud à la fin de la liste chaînée. Le programme ne doit pas modifier l'ordre des nœuds dans la liste, mais doit uniquement imprimer le nième nœud du dernier nœud de la liste chaînée. Exemple d'entrée-:102030405060 N=3Output-:40 Dans l'exemple ci-dessus, en partant du premier nœud, parcourez jusqu'à n nœuds, c'est-à-dire 10,2030,40,50,60, donc l'avant-dernier nœud est 40. . Au lieu de parcourir toute la liste de manière aussi efficace, l'approche que vous pouvez suivre consiste à obtenir un pointeur temporaire vers, par exemple, la température du type de nœud, et à définir ce pointeur temporaire sur le premier nœud pointé par le pointeur principal pour définir le compteur sur celui de la liste.

See all articles