http://www.jstree.com/documentation/checkboxのようなサンプル ツリーがあり、矢印が削除されているとします。クリック イベントで、UI インタラクションを中断せずに、チェックボックスの選択とブランチの切り替えの両方を実行することはできません。ただし、非リーフ ノードにはモデル データが含まれていないため (それらのチェックボックスはすべて選択/すべて選択解除機能としてのみ機能します)、チェックボックスを削除して、クリック イベントを「toggle_node」として再定義することができます。残りはそのまま。
葉以外のノードのチェックボックスを削除し、それらのクリック イベントで葉を切り替えることができます。これにより、目的の動作が実現しますが、リーフ ノード以外のチェックボックスの「すべて選択/すべて選択解除」機能が削除されます。
サンプルページに「+」でマークされた以下の行を追加するだけです。
$("#demo1").jstree({
「プラグイン」:[「テーマ」、「html_data」、「チェックボックス」]
});
+ $("#demo1 li").not(".jstree-leaf").each(function() {
+ $("ins.jstree-checkbox", this).first().hide();
+ $("a", this).first().click(関数(イベント) {
+ $("#demo1").jstree("toggle_node", "#"+$(this).parent().attr('id'));
+ event.stopPropagation();
+ event.preventDefault();
+ });
+ });