如何在FancyTree中建立链接

时间:2014-09-04 13:27:46

标签: javascript php yii fancytree

我尝试使用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删除了他节点上的所有链接。

当节点变为活动状态或选中复选框时,是否可以重定向到右视图?

提前感谢。

1 个答案:

答案 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);
            }
        }