javascript - EXT 拖放事件发生冲突 - 即。如何同时使用ondragout和notifyout?

标签 javascript extjs

所以我有多个 Ext.dd.DragSourceExt.dd.DropTarget 对象。为了获得我需要的正确行为,我将逻辑附加到这两个对象上的事件。不可能只将所有逻辑附加到拖放操作上。

我的问题是,当我在拖动对象上设置 onDragOutonDragEnter 时,它们会停止 notifyEnternotifyOut > 从释放物体上射击。

有没有办法允许这两个事件同时触发?

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/

相关文章:

javascript - 使用 Snap.svg 第二次单击执行某些操作

javascript - 从当前单击的按钮的值,jquery/js 中插入文本到输入占位符

javascript - 异步 javascript - 如何传递参数?

javascript - ExtJS 6 中的标记字段错误

javascript - 如何使用selenium和python点击Javascript按钮?

javascript - 如何获取 jQuery 中所有子元素的所有(不同)类名?

javascript - 将子项连接到父项

javascript - 使用 W3C 剪贴板 API 将文本从 extjs htmleditor 组件复制到剪贴板

javascript - ExtJS DateField 使用不同的显示格式

EXTJS 4上Ext.XTemplate内的Extjs组件