drag没有拖拽效果,dragend也不生效果
来源:4-3 打造支持拖拽的属性型指令
			Allen_Liu_1106
2018-03-04
老师好,跟着视频做到这里,拖拽没有动画效果(item的展现效果不会跟着鼠标走),'dragstart'和'dragend'里面分别打印了log,只有dragstart被调用;

dragdirective:
@Directive({
  selector: '[app-draggable][draggedClass]'
  //selector: '[app-droppable][draggedClass]',
})
export class DragDirective {
  private _isDraggable=false;
  @Input() draggedClass:string;
  @Input('app-draggable')
  set isDraggable(drag1:boolean){
    this._isDraggable=drag1;
    //alert(this.draggedClass);
   //  alert(this._isDraggable);
    this.rd.setAttribute(this.el.nativeElement,'draggable',`${drag1}`);
  }
  get isDraggable(){
    return this._isDraggable;
  }
  constructor(private el:ElementRef,private rd:Renderer2) { }
  @HostListener('dragstart',['$event'])
  onDragStart(ev:Event){
    console.log('start');
    //alert('drag start');
    if(this.el.nativeElement===ev.target){
      //alert(this.el.nativeElement);
      this.rd.addClass(this.el.nativeElement,this.draggedClass);
    }
  }
  @HostListener('dragend',['$event'])
  onDragEnd(ev:Event){
    console.log('remove');
    if(this.el.nativeElement===ev.target){
      this.rd.removeClass(this.el.nativeElement,this.draggedClass);
    }
  }
}
task-item-component.html:
<md-list-item class="container"
 [@item]="widerPriority"
 [ngClass]="{
 'priority-normal':item.priority===3,
 'priority-important':item.priority===2,
 'priority-emergency':item.priority===1
 }"
  [app-draggable]="true"
  [draggedClass]="'drag-start'"
 (click)="onItemClick()"
>
1回答
- 
				
						Allen_Liu_1106
提问者
2018-03-05
补充一下,当前选择的浏览器是firefox,试过用google可以使用,请问一下有没有啥办法能兼容火狐
00 
Angular打造企业级协作平台,让你在Angular领域中出类拔萃
998 学习 · 536 问题
相似问题