Jstree:dblclick绑定参数数据未定义

时间:2011-05-18 11:34:08

标签: jstree

我尝试使用好的lib jstree,但我对dblclick绑定有一些奇怪的问题。 这是我的代码

$("#basic_html").jstree({
    themes: {
        url: "http://mywork/shinframework/shinfw/themes/redmond/css/jstree/default/style.css"
    },
    "plugins" : ["themes","html_data","ui","crrm","hotkeys", "core"],
});

$("#basic_html").bind("dblclick.jstree", function (e, data) {
    alert(e);
    alert(data);
});

当此代码运行并且我为某个节点创建dblclick时,我可以看到2个警报。第一个是object - 正确,第二个是undefined - 但我想要接收数据信息。

请,如果某位专家解决了这个问题,请给我正确的方法正确使用dblclick并接收"数据"有关我点击的节点的信息。

由于

2 个答案:

答案 0 :(得分:0)

我推荐这种方法。 。

$("#basic_html li").live("dblclick", function (data) {
   //this object is jsTree node that was double clicked
   ...
});

首先,您通常只需要知道是否点击了 li ,因此监控li上的事件将为您提供所需的一切。其次,使用 live 委托进行事件绑定,这样您就可以在不破坏事件的情况下操作树。

一旦你有双击的节点( this 对象),你就可以使用这样的内置函数。 。

if (!jsAll.is_selected(this)) { return false; } //cancel operation if dbl-clicked node not selected

哪里。 。

jsAll = $.jstree._reference("basic_html")

答案 1 :(得分:0)

$("#basic_html").bind("dblclick.jstree", function (event) {
    var node = $(event.target).closest("li");//that was the node you double click
});

这就是你想要的代码。