2011-01-04 18 views
5

私の人生の中でこれを理解することはできませんが、JSTreeがダブルクリックイベントをオーバーライドするように設定しようとしていますので、シングルクリックイベントです。これがコールバック設定に追加されていますか?私はこれを行う方法がわかりません、JSTreeのソースコードを編集する必要がありますか?ここでのドキュメント:http://docs.planbleu.org/modules/webportal/jquery/jsTree.v.0.9.5/documentation/#configurationJSTree:ダブルクリックの代わりにシングルクリックするとノードが展開されますか?

私は「ondblclk」ソースコードに「クリック」して、コンフィグ設定に「クリック」のコールバックオプションを追加し、それはしかし、私はおそらくそれは間違ってやっている...何もしなかったためにを変えてみました。

答えて

7

はトリックをした:

onselect: function(n, t) { 
     t.toggle_branch(n); 
    }, 

(tはツリーへの参照です)

+5

これはどこに追加されるのですか?ツリー作成機能全体を共有していただけますか? – TechyTimo

4
$("#tree").bind("select_node.jstree", function (e, data) { 
$("#tree").jstree("toggle_node", data.rslt.obj); 
$("#tree").jstree("deselect_node", data.rslt.obj); 
}); 

これは正しい方向に開始される可能性があります。メタデータに応じて拡張するかどうかは、おそらくフィルタリングする必要があります。ツリー作成機能にこれを送る

2

私はgithubの上のプラグインの問題で正解を見つけました。上記の答えはうまくいかない。これは絶対に機能し、プラグインを呼び出す方法と、ダブルクリックの代わりにシングルクリックの展開を使用する方法に関する包括的な答えです。

$('#jstree') 
     .on('click', '.jstree-anchor', function (e) { 
      $(this).jstree(true).toggle_node(e.target); 
     }) 
     .jstree() 

(必要な場合)

関連する問題