23

私は jsTree jQuery プラグインを使用しており、ユーザーがノードをダブルクリックしたときにコードを実行したいと考えています。

私はそれを機能させることができないようです。イベントに関するドキュメントを見つけましたondblclkが、起動しません。

    browser.jstree(
            {
                plugins: ["themes", "json_data", "ui", "cookies"],
                callback:
                {
                    ondblclk: function (node, tree) {
                        if (!thisReportBrowserthis._isFoldersOnly) {
                            var f = node;
                        }
                    }
                }
            }
        );

jstreeでダブルクリック イベントを処理するにはどうすればよいですか?

4

6 に答える 6

25

私はこれを行うことができます:

jstree.bind("dblclick.jstree", function (event) {
   var node = $(event.target).closest("li");
   var data = node.data("jstree");
   // Do my action
});

nodeliクリックされた が含まれており、私の情報を含むdataメタデータが含まれています。

于 2010-09-09T23:59:17.680 に答える
6

「dblclick.jstree」は、最後のバージョンの jsTree 1.0 には存在しません。

ノードの DoubleClick:

$("#yourtree").delegate("a","dblclick", function(e) {
  var idn = $(this).parent().attr("id").split("_")[1];
  alert(idn); //return NodeID    
});

dblclicked ノードだけが必要な場合は、これを挿入します

if (this.className.indexOf('icon') == -1) {  /* is the node clicked a leaf? */ }
于 2010-09-19T15:49:46.683 に答える
4

私のためにデータを取得するのは少し異なりますが、それ以外の点では、GiddyUpHorsey の回答は的を射ていました。ここに再びコードがあります:

        jstree.bind("dblclick.jstree", function (e, data) {
            var node = $(e.target).closest("li");
            var id = node[0].id; //id of the selected node
        });
于 2011-04-13T16:49:11.533 に答える
2

上記の回答は、jstree の最新バージョン (3.3.4) では機能し
ません。ダブルクリックしてコードを編集する作業は次のとおりです。

$('#tree1').bind("dblclick.jstree", function (event) {
  var tree = $(this).jstree();
  var node = tree.get_node(event.target);
  tree.edit(node);
});

そして、ここに作業中のjsfiddleがあります。

于 2017-11-15T22:22:51.430 に答える