如何获取jstree的row元素的click事件?

12 javascript jquery jstree

你能告诉我如何获得jstree的row元素的click事件吗?我在小提琴中制作了一个jstree的演示.它是在面板中制作的.你必须按"打开面板"按钮检查面板

我想点击jstree元素的事件来点击它的id?为了准备树,我必须多次按"添加测试用例按钮",然后按"打开面板"按钮.

这是我的小提琴 http://jsfiddle.net/ZLe2R/6/

function addMenuItemsOfTestSuit(id){

 var menuid = "menu_" + id;
       var ref = $('#tree').jstree(true);
        alert('thank')
    ref.create_node("#", {"id" : menuid, "text" : id});

        ref.deselect_all();

}
Run Code Online (Sandbox Code Playgroud)

oer*_*erl 24

使用此事件侦听器:

$('#tree').on("select_node.jstree", function (e, data) { alert("node_id: " + data.node.id); });
Run Code Online (Sandbox Code Playgroud)

查看jsTree API事件以获取事件列表.

编辑:创建一个小提琴:http://jsfiddle.net/y7ar9/4/


Tre*_*ery 5

您可以使用

$(document).on('click', '.jstree-anchor', function(e) {...});
Run Code Online (Sandbox Code Playgroud)

您可能希望将点击处理程序移至其自身的功能,并id从锚点的父项获取:

$(document).on('click', '.jstree-anchor', function(e) {
    var anchorId = $(this).parent().attr('id');
    var clickId = anchorId.substring(anchorId.indexOf('_') + 1, anchorId.length);
    onMenuItemClick(clickId, e);
});
$(document).on('click', '.clickTestCaseRow', function (e) {
    onMenuItemClick(this.id, e);
});
function onMenuItemClick(clickId, e) {
    hideDisplayView();
    displayNewView(clickId);
    e.stopPropagation();
}
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴。