JSTree:单击而不是双击,使节点展开?

时间:2011-01-04 19:45:17

标签: jstree

我无法想象我的生活,但我正在尝试配置我的JSTree来覆盖双击事件,因此它只是单击事件。这是否会添加到回调配置中?我不知道该怎么做,我需要编辑JSTree源代码吗?这里的文档:http://docs.planbleu.org/modules/webportal/jquery/jsTree.v.0.9.5/documentation/#configuration

我尝试在源代码中将“ondblclk”更改为“click”,然后在配置设置中添加“click”回调选项,但它什么也没做......我可能做错了。

5 个答案:

答案 0 :(得分:6)

将其发送到树创建函数中就可以了:

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

(其中t是对树的引用)

答案 1 :(得分:5)

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

这可能会让你开始朝着正确的方向前进。您可能需要根据元数据过滤掉哪些扩展或不扩展。

答案 2 :(得分:2)

我在github上的插件问题中找到了正确的答案。以上答案不起作用。这绝对有效,是一个关于如何调用插件的综合答案,以及如何使用单击展开而不是双击。

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

Here is a link to where the author mentions the solution,万一你需要它。

答案 3 :(得分:0)

  $fullIndex.on('select_node.jstree', function(e, data){
    data.instance.toggle_node(data.selected);
  })
  .jstree()

答案 4 :(得分:0)

 $("#your_id_where_Tree").on('select_node.jstree', function(e, data){
       data.instance.toggle_node(data.selected);
 });