【问题标题】:How to highlight jsTree node?如何突出显示 jsTree 节点?
【发布时间】:2013-09-09 08:54:26
【问题描述】:

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

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

我该怎么做? 提前致谢

【问题讨论】:

    标签: jquery css class jstree


    【解决方案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/

    【讨论】:

    • select_node 也可以正常工作(节点被选中)但仍未突出显示
    • 如果你在 jsfiddle 上查看演示,节点被突出显示,你的 css 是否完整?
    • 是的,您的代码运行良好。是的,我认为我的CSS是完整的。可能问题是我先调用 open_node 函数然后调用 select_node?​​span>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多