2013-08-24 107 views
1

在此小提琴中:http://jsfiddle.net/ak4Ed/當選擇一個節點並按下'c'鍵時,所選節點ID將顯示爲彈出窗口。如何修改jstree在選擇時顯示節點名稱

我該如何修改代碼,以便在選擇節點時顯示彈出窗口而不是依賴用戶按'c'熱鍵?

閱讀jstree文檔,這似乎沒有解釋? :http://www.jstree.com/documentation/core

這裏是的jsfiddle代碼:

<div id="demo1" style="height:100px;"> 
    <ul> 
     <li id="node_1_id"> 
      <a>Root node 1</a> 
      <ul> 
       <li id="child_node_1_id"> 
        <a>Child node 1</a> 
       </li> 
       <li id="child_node_2_id"> 
        <a>Child node 2</a> 
       </li> 
      </ul> 
     </li> 

    </ul> 
    <ul> 
        <li><a>Team A's Projects</a> 
         <ul> 
         <li><a>Iteration 1</a> 
          <ul> 
           <li><a>Story A</a></li> 
           <li><a>Story B</a></li> 
           <li><a>Story C</a></li> 
          </ul> 
          </li> 
         <li><a>Iteration 2</a> 
         <ul> 
          <li><a>Story D</a></li> 
           </ul> 
          </li> 
         </ul> 
        </li> 
       </ul> 
</div> 


$(function() { 

    $("#demo1").jstree({ 
       "hotkeys": { 
        "c" : function(event) { 
         var node = this._get_node(); 
         if(!node) { 
          alert("no node selected"); 
         } 
         else { 
          alert("selected node: "+node.attr("id")); 
         } 
        }, 
        "d": function(event) { 
         var node = this._get_node(this.data.ui.hovered); 
         if(!node) { 
          alert("no node hovered");  
         } 
         else { 
          alert("hovered node: "+node.attr("id")); 
         } 
        } 
       }, 
     "plugins": ["ui", "html_data", "themes", "hotkeys"] 
    }); 
}); 
+0

選擇瞭如何?點擊?如果是這樣,爲什麼你不使用標準的jQuery並跳過jstree? – ryan

+0

@ryan但我想使用樹結構呈現內容,所以如何繞過jstree? –

回答

1

有一個事件select_node.jstree。它在選擇節點時觸發。我沒有在文檔中找到它(奇怪的......)。

然後按類jstree-clicked找到一個選定的節點。

我已更新您的jfiddle:http://jsfiddle.net/ak4Ed/118/

+0

@ phil.tx謝謝,你介意你如何找到select_node.jstree事件嗎? –

+0

剛剛嘗試過「select_node」(就像來自docs中帶有掩碼「 _node」的其他事件),它的工作:) – phts

+0

這說選定的節點:undefined? – ryan