我尝试使用fancytree。一切都正确显示,但我不能在节点的文本上有链接...为什么?以及如何解决这个问题?
我试着像这样输入html链接:
<div id="tree">
<ul>
<li><a href="..."> My Link to view 1 </a></li>
<li><a href="..."> My Link to view 2 </a>
<ul>
<li><a href="..." > My link to view 2, 1st object </a></li>
<li><a href="..." > My link to view 2, 2nd object </a></li>
...
</ul>
</li>
...
<ul>
</div>
或者我尝试了
<li Onclick="clickEntite(\''.Yii::app()->CreateAbsoluteUrl($axe['id_entite'].'/view',array('id'=>$axe['id_entite'])).'\')" >'.$axe['text'].'</li>
<script type="text/javascript">
function clickEntite(url){
window.location.href=url;
};
</script>
没有任何成功。
似乎FancyTree删除了他节点上的所有链接。
当节点变为活动状态或选中复选框时,是否可以重定向到右视图?
提前感谢。
答案 0 :(得分:3)
要在节点上建立链接,插件中有几个选项。
在聚焦,激活或点击时重定向。
这是我为不同选项找到的代码。 (我使用激活的)
focus: function(event, data) {
var node = data.node;
// Auto-activate focused node after 1 second
if(node.data.href){
node.scheduleAction("activate", 1000);
}
},
activate: function(event, data){
var node = data.node,
orgEvent = data.originalEvent;
if(node.data.href){
//window.open(node.data.href, (orgEvent.ctrlKey || orgEvent.metaKey) ? "_blank" /*node.data.target*/ : node.data.target);
window.location.href=node.data.href;
}
},
click: function(event, data){ // allow re-loads
var node = data.node,
orgEvent = data.originalEvent;
if(node.isActive() && node.data.href){
// data.tree.reactivate();
window.open(node.data.href, (orgEvent.ctrlKey || orgEvent.metaKey) ? "_blank" : node.data.target);
}
}