2011-12-15 27 views
3

使用insertNodes時,將爲節點創建唯一的ID。在dojo中使用插入節點時設置ID

insertNodes(addSelected, data, before, anchor) 

我們如何爲新節點分配一個特定的名稱/文本作爲id?

+0

可能重複的[組屬性,同時使用在道場insertnodes](http://stackoverflow.com/questions/ 8514772 /設置屬性而-使用-insertnodes合道場) – hugomg 2011-12-15 11:20:13

回答

3

創建一個自定義的「創建者」功能,並設置項目上的ID。 實施例:

在HTML

<ol id="listNode"> 
</ol> 

在JavaScript:

require(["dojo/dnd/Source"]); 

function myCreator(item, hint) { 
    var myLi = dojo.create('li', { id : item.id, innerHTML: item.text }); 

    if (hint == 'avatar') { 
     // create your avatar if you want 
     myLi.innerHTML = "Moving " + item.text + "..."; 
    } 
    return {node: myLi, data: item, type: "foo"}; 
} 

dojo.ready(function() { 
    var list = new dojo.dnd.Source("listNode", {creator: myCreator}); 

    list.insertNodes(false, [ 
     { id : "id1", text : "foo"}, 
     { id : "id2", text : "bar"}, 
     { id : "id3", text : "baz"} 
    ]); 
});