3

我想触发我的 jsTree 节点的点击事件。我在下面写的代码就是这样做的。我的问题是触发事件后节点没有突出显示。

$("#myTreeId li[id=" + myLiId + "] a").click();
$("#myTreeId li[id=" + myLiId + "] a").addClass('jstree-clicked');

我怎样才能做到这一点?提前致谢

4

1 回答 1

1

您可以使用 jstree 功能selectNode;使用它会触发绑定的功能select_node.jstree

代码:

$("#tree").jstree("select_node", "#30"); 

用作第二个参数的 id 是用于填充树的每个节点的 id 属性;显然,您用来填充树的数据必须包含一个 id 属性。

代码示例:

$("#tree").jstree({
    "json_data": {
        "data": [{
            "data": "pe_opensourcescanning",
                "attr": {
                "id": 77,
                    "pId": -1
            },
                "children": [{
                "data": "tags",
                    "attr": {
                    "id": 30,
                        "pid": 0
                }
            }, {
                "data": {
                    "title": "branches"
                },
                    "attr": {
                    "id": 29,
                        "pid": 0
                }
            }]
        }]
    },
        "plugins": ["themes", "json_data", "ui"]
})

$("#tree").bind(
    "select_node.jstree", function (evt, data) {
    console.log('select!');
});

$("#selectNode").click(function () {
    $("#tree").jstree("select_node", "#30");
});

演示:http: //jsfiddle.net/IrvinDominin/UE9Ed/

于 2013-09-09T09:17:34.637 回答