我正在使用jsTree jQuery插件,并希望在用户双击节点时执行代码。
我似乎无法正常工作。我找到了有关某个ondblclk
事件的一些文档,但没有触发。
browser.jstree(
{
plugins: ["themes", "json_data", "ui", "cookies"],
callback:
{
ondblclk: function (node, tree) {
if (!thisReportBrowserthis._isFoldersOnly) {
var f = node;
}
}
}
}
);
如何使用jstree处理双击事件?
事实证明我可以做到这一点:
jstree.bind("dblclick.jstree", function (event) {
var node = $(event.target).closest("li");
var data = node.data("jstree");
// Do my action
});
node
包含li
被点击的,并data
包含包含我的信息的元数据。
最新版本jsTree 1.0中不存在“ dblclick.jstree”。
DoubleClick for节点:
$("#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? */ }
为我提供数据有点不同,但除此之外,GiddyUpHorsey的回答是明确的。再次是下面的代码:
jstree.bind("dblclick.jstree", function (e, data) {
var node = $(e.target).closest("li");
var id = node[0].id; //id of the selected node
});
上面的答案不适用于最新版本的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。
作为版本3.3.5,我正在使用此版本:
$('#jstree').on("dblclick.jstree", function (e) {
var instance = $.jstree.reference(this),
node = instance.get_node(e.target);
// Code
});
对我有用
$("#MyTree").on('dblclick','.jstree-anchor', function (e) {
var instance = $.jstree.reference(this),
node = instance.get_node(this);
console.log(node);
});
本文地址:http://jquery.askforanswer.com/ruhejiangzidingyixingweifujiadaojstreedeshuangjizhong.html
文章标签:double-click , jquery , jstree , mouseevent
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
文章标签:double-click , jquery , jstree , mouseevent
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
评论已关闭!