所以我有多个 Ext.dd.DragSource
和 Ext.dd.DropTarget
对象。为了获得我需要的正确行为,我将逻辑附加到这两个对象上的事件。不可能只将所有逻辑附加到拖放操作上。
我的问题是,当我在拖动对象上设置 onDragOut
和 onDragEnter
时,它们会停止 notifyEnter
和 notifyOut
> 从释放物体上射击。
有没有办法允许这两个事件同时触发?
var ds = new Ext.dd.DragSource(id, { ddGroup: 'drops' });
ds.onDragEnter = function (e, id) { console.log('Drag Enter'); }
ds.onDragOut = function (e, id) { console.log('Drag Exit'); }
var dt = new Ext.dd.DropTarget(id, { ddGroup: 'drops' });
// These never fire.
dt.notifyEnter = function (source, evt, data) { console.log('Drop Enter'); }
dt.notifyOut = function (source, evt, data) { console.log('Drop Exit'); }
我正在使用 Extjs 4.0.2a,不幸的是目前我一直使用这个版本。对此的任何帮助都会很棒。
最佳答案
由于没有答案,我将添加我当前正在使用的解决方法。这不是问题的解决方案,只是回避问题的替代方案。
因此,由于我无法同时在拖放元素上触发这两个事件,因此我只是使用不同的事件。
var ds = new Ext.dd.DragSource(id, { ddGroup: 'drops' });
ds.onDragOver = function (e, id) { console.log('Drag Over'); }
ds.beforeDragOut = function (e, id) { console.log('Drag Out Almost'); }
尽管这些事件与我想要的不太一样,但通过一些额外的逻辑,我可以让它们以非常相似的方式运行。
如果有更好的解决方案,一种触发适当事件的方法,那么我会很乐意接受。
关于javascript - EXT 拖放事件发生冲突 - 即。如何同时使用ondragout和notifyout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098902/