簡體   English   中英

dojox gfx從json獲取sgv后使節點可移動

[英]dojox gfx make a node moveable after getting sgv from json

我的表面有些形狀。 我用

dojox.gfx.utils.toJson(surface)

從中生成一個json,然后

dojox.gfx.utils.fromJson(surface, json)

獲取數據並將其附加到表面。 當我創建一個可移動節點時,問題就來了。 將其保存到json,然后將其附加到表面后,該節點將不再可移動。 我找不到使節點再次可移動的方法。 有沒有辦法做到這一點? 我希望能夠在頁面中保存和加載svg數據,並且在加載后,移動元素。 在我偶然發現此問題之前,使用dojo似乎很容易。 如果我做不到這一點,是否可以使用更好的庫來實現我的目標?

編輯:這是實際的代碼: http : //pastebin.com/2qLCTw8B

我找到了解決我問題的方法。

首先,當您需要一個dojo模塊時,最好將其分配給一個我不知道的變量。 這樣,在分配on模塊時,可以在代碼中的任何位置使用on函數,該函數用於添加事件偵聽器。 當您單擊它時,可從此處輕松創建可移動節點。

但這似乎是無用的操作,因為您可以遍歷整個表面-子數組,並使每個節點都可移動。

這是經過改進的代碼: http : //pastebin.com/wAvSnZpN

如果您仍然決定使用事件,則需要使用以下代碼:

function HandleMouseDown(e) {
    var foo = new dojox.gfx.Moveable(e.gfxTarget);
}

on(surface, 'mousedown', HandleMouseDown);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM