如何解决拖动事件触发了几秒钟
我正在使用注册了HostListener
的Electron和Angular 10进行拖放事件。如果我用鼠标将拖动的文件圈到我的应用程序上并最终将其放下,则需要花费几秒钟的时间才能最终触发drop
事件。
在触发数百个dropenter
和dropleave
事件之前。谁能解释这种行为?
//Dragover listener
@HostListener('dragover',['$event'])
public onDragOver(evt) {
console.log('dragover',new Date().getSeconds());
evt.preventDefault();
evt.stopPropagation();
}
//Dragleave listener
@HostListener('dragleave',['$event'])
public onDragLeave(evt) {
console.log('dragleave',new Date().getSeconds());
evt.preventDefault();
evt.stopPropagation();
}
//Drop listener
@HostListener('drop',['$event'])
public ondrop(evt) {
console.log('drop',new Date().getSeconds());
evt.preventDefault();
evt.stopPropagation();
}
日志如下:
dragleave 23
dragover 23
dragleave 23
dragover 23 <- file dropped around seconds 23
dragleave 23
dragover 23
...
dragleave 25
dragover 25
dragleave 26
dragover 26
drop 26 <-- it took 3 seconds to finally drop the file
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。