Jstree - 需要合并两段 java 脚本 正确的语法是什么?

Jstree - need to combine two pieces of java script what is the correct syntax?

我知道的很有限javascript。这是开头部分:

$("#jstree").jstree()

现在我需要添加两段代码,这里是第一段:

<script>
$("#jstree").jstree().bind('ready.jstree', function(event, data) {
    $("#jstree").jstree('select_node', '{{concept_id}}');
    $("#jstree").jstree('open_node', '{{concept_id}}', function(e, d) {
        for (var i = 0; i < e.parents.length; i++) {
            $("#jstree").jstree('open_node', e.parents[i]);
        };
    });

});
</script>

这是第二个:

<script>
$('#jstree').jstree().on("select_node.jstree", function(e, data) {
    document.location = data.instance.get_node(data.node, true).children('a').attr('href');
});
</script>

第一个块允许我在页面加载时将树打开到特定节点。第二个块允许我的链接是可点击的,因为它们不是。

如何使用正确的语法组合 .bind() 和 .on()?

    var jsTree = $("#jstree");
var PageLoadlock = false;
jsTree.jstree().bind('ready.jstree', function(event, data) {
                        PageLoadlock = true;
                        jsTree.jstree('select_node', '{{concept_id}}');
                        jsTree.jstree('open_node', '{{concept_id}}', function(e, d) {
                        for (var i = 0; i < e.parents.length; i++) {
                            $("#jstree").jstree('open_node', e.parents[i]);
                        };
                    });
                 }).on("select_node.jstree", function(e, data) {
                        if (PageLoadlock) { PageLoadlock = !PageLoadlock; return}
                        document.location = data.instance.get_node(data.node, true).children('a').attr('href');
                    });

类似这样,在.jstree().bind之前或之后添加.jstree().on,顺序不算。

更新 如果以编程方式生成事件,则为 slect_node.jstree 添加锁