我已經創建了具有源位置和目標位置的dnd解決方案。現在拖動是雙向的,我希望它是單向目標來源。然後從源添加一個圖像到每個項目(一個刪除圖標),這樣用戶就可以點擊該圖標並將記錄發送回正確的目標。如何將圖像添加到dojo/dnd/Source中的項目
第1部分,我想了解如何製作dnd單向和第2部分,如何向每個項目添加圖像。
謝謝
我已經創建了具有源位置和目標位置的dnd解決方案。現在拖動是雙向的,我希望它是單向目標來源。然後從源添加一個圖像到每個項目(一個刪除圖標),這樣用戶就可以點擊該圖標並將記錄發送回正確的目標。如何將圖像添加到dojo/dnd/Source中的項目
第1部分,我想了解如何製作dnd單向和第2部分,如何向每個項目添加圖像。
謝謝
有一些事件可以在dnd模塊中處理。
對於'part1',請參閱此http://dojotoolkit.org/reference-guide/1.8/dojo/dnd.html#id6並將is'Source : false
設置爲僅應作爲目標的目標。
和'part2'轉到http://dojotoolkit.org/reference-guide/1.8/dojo/dnd.html#id8並閱讀'onDrop'。如果在「僅限目標」源中重載該函數,則可以訪問正在丟棄的節點。
onDrop: function(source, nodes, copy) {
dojo.forEach(nodes, function(node) {
node.innerHTML += "<button title=Delete> X </button>";
});
}
這就是我的工作。
dojo.connect(selectedInstructions, "onDndDrop", instructions.addDeleteButton);
addDeleteButton: function (source, nodes, copy, target) {
if (source != target) {
dojo.forEach(nodes, function(node) {
var instructionId = node.getAttribute("id");
var oImg = document.createElement("img");
oImg.setAttribute('src', 'images/delete.png');
oImg.setAttribute('alt', 'Remove');
oImg.setAttribute('class', 'remove_instruction');
oImg.setAttribute('onClick', "javascript:instructions.removeInstruction('" + instructionId + "')");
document.getElementById(instructionId).appendChild(oImg);
});
}
},
然後我試圖讓on
工作,因爲connect
正在貶值,但我似乎沒有多少運氣。我將不得不在以後再回來,因爲我現在正處於時間緊迫的狀態,以便將此代碼取出。
on(selectedInstructions, "onDrop", instructions.addDeleteButton);
aspect.after(selectedInstructions, "onDrop", instructions.addDeleteButton);
希望Dojo文檔更好。感謝社區的善良,但它的支持。
我認爲這將是完全適用,使用無論是一個或一個方面。你可能希望''搭配''指令'來獲得正確的範圍,例如:'aspect.after(selectedInstructions,「onDrop」,lang.hitch(instructions,'addDeleteButton');'。至於'.on' ,它應該工作 - 儘管去除'on'前綴 - 但它的設計是針對DOMEvent主要是imho – mschr