J'essaie d'essayer l'excellent Jstere 3.0.2. J'ai un arbre avec un niveau de nœuds d'enfants. Lorsqu'un nœud parent a cliqué, je le souhaite de se développer, mais je ne veux pas que le nœud parent soit sélectionnable - seuls les nœuds d'enfants doivent être sélectionnables.
Je peux obtenir les nœuds des parents pour ouvrir le clic sur Utiliser: p> mais je ne peux pas comprendre comment rendre les nœuds parents non sélectionnables. puis attribué au nœud parent à l'aide de: p> mais les nœuds parents sont toujours sélectionnables. J'ai créé un jsfiddle ici:
http://jsfiddle.net/john_otoole/ry7n6/7/
Dans cet exemple, j'utilise les éléments suivants pour afficher si quelque chose est sélectionnable: p> econaille sur la manière d'empêcher la sélection d'un nœud parent? P> p>
J'ai créé un type et j'ai défini "select_node" sur false: p>
3 Réponses :
Je sais que cela est bien en retard à la fête ici, mais j'avais le même problème.
C'est comme ça que je me suis entendu - peut-être que cela aidera quelqu'un d'autre qui a ce problème. P> < Pré> xxx pré>
Fondamentalement, désélectionnez le nœud juste après qu'il a été sélectionné s'il a des enfants, puis développez-le. P> P>
Merci pour ce truc, je suggère d'utiliser data.instance code> au lieu de
$ ('# divccsss'). Jstree (vrai) code> du rappel
Plus que très tard à la fête, mais en utilisant Jstree 3.0.4, décorer le nœud racine comme si: ouvre la racine lorsqu'il est appelé et désactive le clic. J'espère que cela aide. P> <div id="js_tree_container">
<ul>
<li data-jstree='{ "opened" : true, "disabled" : true }'>
<a href="javascript:void(0);" tite="Root Category">
ROOT NODE
</a>
<ul>
<li>
<a href="javascript:void(0);">
<span>Child One</span>
</a>
<ul>
<li>
<a href="javascript:void(0);">
<span>Child A</span>
</a>
</li>
<li>
<a href="javascript:void(0);">
<span>Child B</span>
</a>
</li>
</ul>
</li>
<li>
<a href="javascript:void(0);">
<span>Child Two</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
<script>
$('#js_tree_container').jstree({
'core': {
'themes': {
'name': 'default',
'responsive': true
},
'check_callback': true
}
}).bind("select_node.jstree", function (e, data) {
var href = data.node.a_attr.href;
document.location.href = href;
});
</script>
Merci pour le suivi!
J'ai eu un problème différent pour empêcher select_node.jstree événement pour les articles handicapés, mais je pense que cela peut fonctionner pour votre cas.
J'ai résolu mon problème en utilisant "ConditionalSelect" plugin. P>
$('#jstree').jstree({ 'conditionalselect' : function (node) { // Check node and call some method return (node['someProperty']) ? true : false; }, 'plugins' : ['conditionalselect'], 'core' : { <core options> } });
Cela pourrait vous aider à vous aider: groups.google.com/forum/#! Sujet / JSTRE / AV0GRAVR1TM
J'ai vérifié ce lien mais je ne pouvais pas le faire fonctionner - peut-être que la syntaxe ne fonctionne pas dans Jstree 3.0.2. En fin de compte, j'ai décidé de laisser les nœuds des parents à être sélectionnables et je vais y travailler.