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 添加锁
我知道的很有限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 添加锁