0

我正在尝试创建文件拖放上传。我已经使用 Angular 指令中的 HostListener 创建了带有 dragenter、dragleave 和 drop 事件的 div 容器。dragenter 和 dragleave 事件正在工作,但在 drop 事件中 event.preventDefault() 不起作用。我的事件代码:

@HostListener('drop', ['$event']) onDrop = (event): void => {
    event.preventDefault();
}

我还尝试(drop)="function($event)"在 HTML DOM 中添加事件,但这也不起作用。

4

1 回答 1

0

来自MDN 网站

Event 接口的preventDefault()方法告诉用户代理,如果事件没有得到显式处理,则不应像通常那样采取其默认操作。该事件继续像往常一样传播,除非它的一个事件侦听器调用stopPropagation()stopImmediatePropagation(),其中任何一个都立即终止传播。

所以尝试使用event.stopPropagation()orevent.stopImmediatePropagation()代替。

于 2020-12-30T21:27:14.180 回答