2014-09-04 58 views
1

我嘗試使用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

要在節點上有鏈接,插件中有幾個選項。

重點關注,激活或點擊時重定向。

這裏是我找到的不同選項的代碼。 (我用的是激活一個)

 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); 
      } 
     } 
+0

看起來是非常簡單,只是http://wwwendt.de/tech/fancytree/demo/sample-iframe.html – JasonPlutext 2015-11-06 22:06:47

+0

使用相同的方法爲文森特工作就像一個魅力(除了我有Backbone.JS應用程序,所以用Backbone Navigation代替)。謝謝! – 2016-06-20 07:23:08