我需要調用一個函數來改變之前創建的dnd.source
接受。任何想法如何改變現有的dojo.dnd.source
將是非常好的。代碼我用來創建:如何獲得/設置接受dojo.dnd.source
var catalog = new dojo.dnd.Source('div_catalog', { accept: ['inStock'] });
對不起,我的英語,我還在學習。再次感謝。
我需要調用一個函數來改變之前創建的dnd.source
接受。任何想法如何改變現有的dojo.dnd.source
將是非常好的。代碼我用來創建:如何獲得/設置接受dojo.dnd.source
var catalog = new dojo.dnd.Source('div_catalog', { accept: ['inStock'] });
對不起,我的英語,我還在學習。再次感謝。
我發現了另一種解決問題的方法,但效果並不好。我只是刪除了包含dnd.source
的div
,並創建了一個具有不同接受度的新dnd.source
。該代碼我使用:
var element = dojo.byId(user_id);<br />
var element_father = element.parentNode;<br />
element_father.removeChild(element);<br />
var div = document.createElement("div");<br />
div.setAttribute('id',element.id);<br />
element_father.appendChild(div);<br />
var catalog = new dojo.dnd.Source(element.id, {accept: ['outStock']});
我希望有人知道如何建立一個存在dnd.source
我跟這個身邊打球,我發現了「接受」屬性似乎不是一個陣列作爲道場手冊建議。它在chrome的調試器中顯示爲某種對象(除數組外),默認情況下該屬性被稱爲「文本」,其值設置爲1。訪問爲element.accept = "";
禁用它的作品,但在此之後,不會再回到使用相同的方法啓用它,並嘗試類似element.accept = ['text'];
我也嘗試訪問它element.accept.text
並且這似乎並沒有工作要麼一旦對象被實例化。
對於我的應用程序,我需要允許單個項目在表中的每個td中,並且我使用以下函數來執行此操作,並使用列出的變體保留表中項目的順序這裏。我認爲這值得一提。
function changeAccept(source)
{
var element = document.getElementById(source.node.id);
console.log("element:"+element);
var element_father = element.parentNode;
var td = document.createElement("td");
td.setAttribute('id',element.id);
element_father.replaceChild(td,element);
var newsource = new dojo.dnd.Source(element.id, {accept: ['text']});
dojo.connect(newsource, "onDrop", function(source, nodes, copy) {
console.log("Dropped", newsource, source, nodes, copy);
newsource.accept = "";
changeAccept(source);
});
return newsource;
}
var priorelement = new dojo.dnd.Source(element.id, {accept: ''}); //disabled
changeAccept(priorelement); //enabled and in same position in table
我面臨同樣的問題,我找到了解決辦法。事實上這很容易:
var source = new dojo.dnd.Source(「divId」,{accept:[]}); //我們可以使用 也dojo.dnd.AutoSource
現在創建的源碼不會接受任何東西。要更改接受我們必須添加一個屬性到它的接受場這樣的:
source.accept["acceptType"] = 1;
而且同樣將其刪除:
delete source.accept["acceptType"];
我希望這會幫助別人。
你試過catalog.accept = ['otherValue']嗎?我沒有檢查...只是猜測... – Philippe 2011-02-23 17:15:28