首页 > 解决方案 > 拖动后点击事件触发

问题描述

嘿,我正在使用 Angular 材质拖放。一切正常,但每次拖动后都会触发点击事件,这真的很烦人。我怎样才能阻止这个?

<div
  cdkDrag
  [cdkDragDisabled]="shiftWorker.locked"
  (cdkDragEnded)="onDragEnded(job, shiftWorker, $event)"
  (cdkDragStarted)="onDragStart($event)"
  [cdkDragData]="job"
  *ngIf="job.timelineInfo.isInDayShift === firstHalfDay"
  (click)="openWorkDetails(job.id)"
></div>

标签: angular

解决方案


在拖动元素时关闭元素的指针事件可防止之后发生单击事件:

模板:

<div cdkDrag #draggable="cdkDrag" 
     [class.pointer-events-none]="draggable._dragRef.isDragging()" ...

样式.scss:

.pointer-events-none {
  pointer-events: none;
}

推荐阅读