2017-09-17 31 views
0

Angularのデフォルトの(drag)を使用して、ファイルの破棄を処理しています。イベントが正しく動作しない

ユーザーが四角形をドラッグすると、クラスを追加しようとしています。しかし、このクラスは何度も追加され、削除されています。私は間違って何をしていますか?例えば

enter image description here

これは私のコードです:

<div class="upload-container" 
    [class.isDraggingOver]="isDraggingOver" 
    (drop)="onDrop($event, dropData); isDraggingOver = false" 
    (dragover)="isDraggingOver = true; allowDrop($event)" 
    (dragenter)="isDraggingOver = true" 
    (dragleave)="isDraggingOver = false"> 
    Stuff in here... 
</div> 

onDrop(event, data) { 
    event.preventDefault(); 
    event.stopPropagation(); 

    // ... 
} 

allowDrop(event) { 
    event.preventDefault(); 
    event.stopPropagation(); 
} 

私はちょうどホバーがアクティブなときにクラスisDraggingOverを追加し、ないときは、それを削除します。私が馬鹿にされている間に、なぜそれが前後にフリックしているのかわかりません。

+2

問題を示す実行可能なプランナーを提供してください。 – yurzui

答えて

0

私は同じ問題を抱えていました。私が見つけた解決策は、それまでに見たすべての例で使用されていましたが、dragenterイベントを使用するのではなく、dragoverというイベントのみを使用します。私はまだそれがそのイベントではうまくいかないかどうかまだ分かりませんし、他のものを使うのが間違っているように見えても、それをどうやって動かせるかということでした。

関連する問題