$( 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时才收到警报。 我尝试过不同的组合,但点击一片叶子时没有任何反应。还用Firebug检查。 每次警报时重复点击任务5都会触发,并在maincontent div中加载html。
所以看起来这不是一个正常的jquery问题,但是jsTree的问题(当然还有我自己:))
我正在使用
jQuery v2.1.3 jsTree - v3.0.9
提前感谢任何评论。
答案 0 :(得分:0)
试试这个
$('#leftmenu').on("select_node.jstree", function(a,b){
alert(b.node.a_attr.href);
$('#maincontent').load(b.node.a_attr.href)
return false;
});
答案 1 :(得分:0)
谢谢maddin,但我已经找到了解决方案:
$( document ).ready(function() {
$('#jstree').jstree();
$('#jstree').on('click', '.jstreelink', function() {
$('#maincontent').load(this.href);
});
});