我目前正在使用dynaTree jQuery插件来渲染树。
<div id="tree" style="height:100px;">
<ul class="expanded">
<li class="expanded" id="shtml_1" >
<a class="ajaxify" href="jsTree.html" >Root node 1</a>
<ul>
<li id="shtml_2">
<a href="#">Child node 1</a>
<ul>
<li id="a"><a href="#">Child node 1-1</a></li>
<li id="x"><a href="b">Child node 1-2</a></li>
</ul>
</li>
<li id="c"><a href="#">Child node 2</a></li>
</ul>
</li>
<li id="shtml_4">
<a href="#">Root node 2</a>
</li>
</ul>
Javascript -
$('.ajaxify').ajaxify({
target: '#container'
});
$(function(){
$("#tree").dynatree({
title: "Sample Theming",
// Image folder used for data.icon attribute.
imagePath: "skin-custom/",
onSelect: function(node) {
alert ("You selected " + node);
}
});
});
现在我想
或者
现在每当我使用dynaTree时,它都会覆盖默认行为并阻止锚标记被点击。有关如何做到这一点的任何想法?
答案 0 :(得分:8)
Dynatree默认会删除<a>
标记,因此实现onActivate处理程序可能更容易:
onActivate: function(node) {
if( node.data.href ){
// use href and target attributes:
window.location.href = node.data.href;
// window.open(node.data.href, node.data.target);
// $("#div").load(node.data.href);
}
}
从版本1.1.2开始,Dynatree将直接使用href
标记中的target
和<a>
属性:
<li id="x"><a href="b">Child node 1-2</a></li>
在旧版本中,您必须像这样设置href:
<li id="x" data="href: 'b'"><a href="b">Child node 1-2</a></li>