我以为我已经解决了我的问题,但没有。我使用普通调用来加载内容,它工作简单、快速且精细。
$( document ).ready(function() {
$('#leftmenu').jstree();
$('.jstreelink').click(function(){
alert("Clicked!");
$('#maincontent').load(this.href)
return false;
});
});
<div id="leftmenu">
<ul>
<li>Admin
<ul>
<li><a class="jstreelink" href="backend/test4.php">task1</a></li>
<li><a class="jstreelink" href="backend/test3.php">task2</a></li>
</ul>
</li>
<li>Moderator
<ul>
<li><a class="jstreelink" href="backend/testp.php">task3</a></li>
<li><a class="jstreelink" href="backend/test1.php">task4</a></li>
</ul>
</li>
<li><a class="jstreelink" href="backend/test.php">task5</a></li>
</ul>
</div>
我添加了一个测试警报,只有在单击 task5 时才会收到该警报。我尝试了不同的组合,但是当单击叶子时,没有任何反应。还与萤火虫核对。每次发出警报时,重复单击任务 5 都会触发,并在主内容div 中加载 HTML。
所以这似乎不是一个普通的jquery问题,而是jsTree的问题(当然还有我自己:))
我正在使用
j查询 v2.1.3js树 - v3.0.9
提前感谢您的任何评论。
试试这个
$('#leftmenu').on("select_node.jstree", function(a,b){
alert(b.node.a_attr.href);
$('#maincontent').load(b.node.a_attr.href)
return false;
});
谢谢麦丁,但我已经找到了解决方案:
$( document ).ready(function() {
$('#jstree').jstree();
$('#jstree').on('click', '.jstreelink', function() {
$('#maincontent').load(this.href);
});
});