JsTreeを使用して非常に単純なツリーを実装しようとしています。ドキュメントが密集していて圧倒的であることがわかりました。
今、私はここに示されている矢印をクリックしてノードを展開/折りたたみます:
ノード名もクリックして展開/折りたたみできるようにしたい:
私が使用しているコードは単純です。 jsTreeのJavaScriptを変更していません。
<ul id="tree">
<li>
SubFolder1
<ul id="tree">
<li data-jstree='{"icon":"/Images/blue-folder.png"}'>Pub 1</li>
</ul>
</li>
</ul>
HTMLファイルにイベントリスナーを追加し、toggle_node
関数を呼び出すだけです。以下のこのコードは、シングルクリックをリッスンします。
$(document).ready(function(){
$('#jstree_div').on("select_node.jstree", function (e, data) { $('#jstree_div').toggle_node(data.node); });
}
JsTreeはまだダブルクリックイベントをサポートしていないため、ダブルクリックをリッスンする場合は、別のイベントリスナーが必要です。
$('#jstree_div').on("dblclick",function (e) {
var li = $(e.target).closest("li");
var node = $('#jstree_div').get_node(li[0].id);
$('#jstree_div').toggle_node(node)
});
お役に立てば幸いです。
$('#tree').on('select_node.jstree', function (e, data) {
data.instance.toggle_node(data.node);
});
それは私のために働いた。 oerlsソリューションはしませんでした。
$('#jstree').on("select_node.jstree", function (e, data) {
$('#jstree').jstree("toggle_node", data.node);
});
また、これは機能します