我尝试使用好的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并接收"数据"有关我点击的节点的信息。
由于
答案 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
});
这就是你想要的代码。