当我将面板放到非拖放区域时,Extjs会以错误的方向将拖动元素动画化回源元素,如何修复此行为?
这是我的Dragzone和DropZone的代码,当我将应用程序更改为LTR时,它很好,当我将它切换回RTL时,问题再次出现。
function calEventPnlSourceDD(sender){
sender.mX=sender.getX();
sender.dragZone = new Ext.dd.DragZone(sender.getEl(), {
ddGroup: 'dgCal',
getDragData: function(e) {
var sourceEl = e.getTarget(sender.itemSelector, 10);
if (sourceEl) {
/*sourceEl=sourceEl.parentElement;*/
d = sourceEl.cloneNode(true);
d.id = Ext.id();
return {
ddel: d,
sourceEl: sourceEl,
repairXY: Ext.fly(sourceEl).getXY()
}
}
},
getRepairXY: function() {
return this.dragData.repairXY;
},
onDrag: function(e) {
}
});
}
function calEventPnlTargetDD(sender){
sender.dropZone = new Ext.dd.DropZone(sender.el, {
ddGroup: 'dgCal',
isDropAllowed: false,
getTargetFromEvent: function(e) {
return e.getTarget(sender.rowSelector);
},
getAllowed: function(e) {
var proto = Ext.dd.DropZone.prototype;
var tg=e.target;
this.isDropAllowed=true;
return proto.dropAllowed;
},
notifyOver: function(source,e,data) {
return this.getAllowed(e);
},
onNodeDrop: function(target, dd, e, data) {
return this.isDropAllowed;
}
});
1条答案
按热度按时间ldfqzlk81#
9天后,我发现了问题的原因,在我的本地文件local-he.js我删除了这一行:
因为我已经在UniMainModule中将我的应用定义为RTL。
我用 Delphi 使用Unigui框架:-)