2014-09-19 38 views
0

我希望既能選擇文件夾節點標籤來展開樹,同時還要調用樹的onClick函數。我已經將樹的openOnClick屬性設置爲true,這會在選擇節點標籤時使樹展開,但是不會調用onClick函數。如何爲Dojo/Dijit樹啓用openOnClick並仍然調用onClick函數

我的代碼看起來像這樣...

tree = new Tree({ 
    model: treeModel, 
    openOnClick : true, // This prevents onClick function from firing 
    onClick: function(item, node, event){ 
     // this function is never called because openOnClick is enabled 
     alert("This message will never appear"); 
    }, 
}, "tree"); 

我需要openOnClick和雙方的onClick工作。我正在使用道場1.9

任何想法???

回答

0

在挖掘了dijit/Tree.js源代碼之後,我找到了解決方案。

tree = new Tree({ 
    model: treeModel, 
    // openOnClick : false, // Don't set openOnClick equal to true 
    onClick: function(item, node, event){ 
     alert("This message will NOW appear!!!"); 
     this._onExpandoClick({node: node}); // This will expand the node 
    }, 
}, "tree"); 

在Tree.js文件中的邏輯檢查openOnClick值,並根據其值將或者展開節點或調用的onClick功能。我仍然不確定爲什麼這兩個功能是互相排斥的。

有誰知道這是爲什麼?

相關問題