我有一個工作的DnD實現,但我遇到了一個障礙。看來,如果我將dojo.dnd.Source.checkAcceptance設置爲true,那麼Source容器就會停止檢查dndType,它會接受所有內容。將dojo.dnd.Source.checkAcceptance更改爲true會影響類型檢查嗎?
我正在檢查dojo.dnd.Source容器中是否存在節點,如果有我想禁用丟棄。我這樣做了兩次,因爲如果頁面加載時內容已經存在,我們希望禁止在那裏刪除附加內容,並且只允許源容器包含1個節點。同樣的onDrop事件。
如果checkAcceptance = false,那麼它工作並且不接受任何丟棄,但是如果checkAcceptance = true,那麼它接受一切。
我正在使用dojo版本1.4.2。
這裏是對侵犯性的代碼:
var contentSourceA = new dojo.dnd.Source(「ContentCol」,{accept:[「contentItem」]});
如果(dojo.query( 「#ContentCol」)[0] .children.length> 1){
contentSourceA.checkAcceptance =函數(){返回false;}
}否則{
contentSourceA.checkAcceptance =函數(){返回true;}
}
dojo.connect(contentSourceA, 'onDrop',函數(源,節點,複製){
如果(dojo.query( 「#ContentCol」)[0]。兒童。長度> 1){
contentSourceA.checkAcceptance = function(){return false;}
} else {
contentSource A.checkAcceptance = function(){return true;}
}
});
因此,我的問題:更改dojo.dnd.Source.checkAcceptance是否會影響類型檢查功能?如果不是,我在這裏做錯了什麼?我應該通過其中一個主題事件來做到這一點嗎?