如何解决Angular HostListener preventDefault 不起作用
我正在尝试创建文件拖放上传。我已经使用 Angular 指令中的 HostListener 创建了带有 dragenter、dragleave 和 drop 事件的 div 容器。 dragenter 和 dragleave 事件正在工作,但在 drop 事件中 event.preventDefault() 不起作用。我的事件代码:
@HostListener('drop',['$event']) onDrop = (event): void => {
event.preventDefault();
}
我还尝试在 HTML DOM 中添加带有 (drop)="function($event)"
的事件,但这也不起作用。
解决方法
来自MDN website:
Event 接口的 preventDefault()
方法告诉用户代理,如果事件没有得到显式处理,则不应像通常那样采取其默认操作。 事件继续像往常一样传播,除非它的事件侦听器之一调用 stopPropagation()
或 stopImmediatePropagation()
,其中任何一个立即终止传播。
所以请尝试使用 event.stopPropagation()
或 event.stopImmediatePropagation()
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。