我想知道是否有一种方法可以中止dojo中的默认drop操作。我在函数中做了一些自定义操作,
dojo.subscribe("/dnd/drop/before", function(source, nodes, iscopy){
//Custom manipulation
});
从这个功能,我想取消掉落,类似于按下Esc键时发生的情况?
谢谢
答案 0 :(得分:2)
您可以发布主题dnd/cancel
,即dojo.publish('/dnd/cancel')
,然后致电dojo.dnd.manager().stopDrag()
取消放弃。
但推荐的方法是在当前节点不可删除时自定义checkAcceptance()
dojo.dnd.Source
以返回false
。在dojo dnd的doc中查找更多详情。
答案 1 :(得分:1)
对我而言,压倒onDrop
就像魅力一样。根据{{3}},我有类似的东西:
var source2 = new dojo.dnd.Source("source", {
onDrop : function(source, nodes, copy) {
if (canProceedCondition) {
this.onDropExternal(source, nodes, copy);
}
}
});