Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何监听双击jstree?_Javascript_Jquery_Events_Jstree_Double Click - Fatal编程技术网

Javascript 如何监听双击jstree?

Javascript 如何监听双击jstree?,javascript,jquery,events,jstree,double-click,Javascript,Jquery,Events,Jstree,Double Click,如何为jstree对象上的双击事件编写侦听器?(例如,我想双击一个树节点,将其锚点的href值粘贴到某个表单中的输入字段中。)我在一年前使用过类似的方法,我不知道当前jstree版本是否有任何更改: jstree.bind("dblclick.jstree", function (event) { var node = $(event.target).closest("li"); var data = node.data("jstree"); // Do some action

如何为jstree对象上的双击事件编写侦听器?(例如,我想双击一个树节点,将其锚点的
href
值粘贴到某个表单中的
输入
字段中。)

我在一年前使用过类似的方法,我不知道当前jstree版本是否有任何更改:

jstree.bind("dblclick.jstree", function (event) {
   var node = $(event.target).closest("li");
   var data = node.data("jstree");
   // Do some action
});
节点:包含正在单击的li


数据:包含元数据。

如果您单击jstree div上的任何位置,Nirmal的解决方案都会起作用。我只想在节点本身上启用双击,而不是在右侧的空白处启用双击。稍微更改解决方案可以实现以下功能:

$('#jstree-div a').live('dblclick',function (e) {
    var node = $(e.target).closest("li");
    var type = node.attr('rel');
    var item = node[0].id;

    // do stuff...
});

不确定为什么“rel”和“id”属性在结果节点中的不同位置,但它可以工作;)

//执行一些操作之后
,如果我添加
警报(数据)
然后我得到了
null
。这个答案与您的答案很接近,似乎有效:node.data(“jstree”)在最新版本的jstree(3.1.x)中返回未定义的数据,所以使用这个:
var tree=$(This.jstree();var node=tree.get_节点(evt.target);var nodePath=tree.get_路径(node.join)(/)这样您就可以同时使用节点对象和树对象来调用任何可能重复的树对象