我在javascript上仍然很差,特别是在JQuery上。
如果单击一个JSTree href,如何加载某些内容,并且内容应该加载到同一页面上。
当我删除div id" tree_1"从div开始,它通常很适合作为导航菜单(而不是JSTree节点)。
请帮助。
谢谢。
。
$('#tree_1').jstree({
"core" : {
"themes" : {
"responsive": false
}
},
"check_callback" : true,
"types" : {
"default" : {
"icon" : "fa fa-folder icon-state-warning icon-lg"
},
"file" : {
"icon" : "fa fa-file icon-state-warning icon-lg"
}
},
"plugins": ["state"]
});
$('#tree_1').on('select_node.jstree', function(e,data) {
var link = $('#' + data.selected).find('a');
if (link.attr("href") != "#" && link.attr("href") != "javascript:;" && link.attr("href") != "") {
if (link.attr("target") == "_blank") {
link.attr("href").target = "_blank";
}
//document.location.href = link.attr("href");
return false;
}
});

<div id="tree_1" class="tree-demo scroller" style="height:150px">
<ul id="klass">
<li><a href="home">Load Home Page</a></li>
<li><a href="klassing">Load Klassing Page</a></li>
</ul>
</div>
<div id="content"></div>
<script>
$(document).ready(function(){
$('#content').load('content/index.php');
$('ul#klass li a').click(function(){
var page = $(this).attr('href');
$('#content').load('content/' + page + '.php');
return false;
});
});
</script>
&#13;
答案 0 :(得分:0)
删除底部脚本标记,而不是您的select_node
事件处理程序尝试以下内容:
$('#tree_1').on('select_node.jstree', function(e,data) {
var href = data.node.a_attr.href;
if (href && href != "#" && href != "javascript:;") {
$('#content').load('content/' + href + '.php');
}
});