【问题标题】:Angular7 drop zone: click event not triggeredAngular7放置区:点击事件未触发
【发布时间】:2019-03-10 20:28:06
【问题描述】:

在阅读了 blog post 关于 Angular Material 7 关于拖放交互的新功能之后,我决定玩弄示例代码。

它围绕三个列表工作,拖放事件在三个列表之间移动元素。这很有效,当尝试修改第一个列表以使其元素成为按钮时会出现问题:

<div *ngFor="let item of newItems" [cdkDragData]="item" cdkDrag>
<button (click)="clicked($event)"> {{ item }}</button>
</div>

问题是点击事件似乎没有被触发,就好像拖放事件“覆盖了它们”一样。

代码如下:

https://stackblitz.com/edit/mat-drag-drop-bwkdcy

编辑:找到了一个事件监听器的解决方法,没什么大不了的。

【问题讨论】:

    标签: angular typescript onclick angular-material angular7


    【解决方案1】:

    (mousedown)="clicked($event)" 完成工作。

    【讨论】:

    【解决方案2】:

    尝试使用函数$event.stopPropagation()只触发这个事件

    <div *ngFor="let item of newItems" [cdkDragData]="item" cdkDrag>
         <button (click)="$event.stopPropagation();clicked($event)"> {{ item }}</button>
    </div>
    

    【讨论】:

    • 感谢您的输入,没有尝试过您的输入,因为mousedown 在这里已经足够好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多