[英]How to autoselect DAG node ancestors in Cytoscape.js
在用Cytoscape.js渲染的DAG中選擇(即單擊)一個節點時,我希望所有“祖先”節點都被自動選擇。
我已對該算法進行了修改,以將所有作為選定節點的祖先節點(或更准確地說,是前任節點-參見Wikipedia上的定向圖頁面)的屬性“ visited”設置為1。
但是,隨后在所有具有node.data('visited') == 1
節點上調用node.select()
不會導致通過:selected
選擇器定義的樣式應用於這些節點,除非您按住shift鍵。 即使這樣,也僅突出顯示祖先,未設置單擊節點的樣式。
http://jsbin.com/piguxuna/1/edit?js,控制台,輸出
旁注:該示例顯示了如何使用dagre在Cytoscape.js中進行GraphViz點/ Sugiyama布局。
(1)如果使用舊的瀏覽器,則可能會遇到錯誤。 僅支持現代的,自動更新的瀏覽器。 如果您無法在手機上更新瀏覽器,請將操作系統更新到最新版本。
(2)您的選擇方法有問題。 點擊時,您應該構建所需元素的集合(請參見cy.add()
和cy.collection()
)。 然后,您可以執行toSelectEles.select() and cy.elements().not( toSelectEles ).unselect()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.