2016-05-23 15 views
0

Probe: https://jsfiddle.net/u3m4eazx/

Ich habe 2 Bilder, die ziehbar und 3 divs sind, wo Sie die Bilder ablegen können ($ Dropzones).
Drop-Ereignis nicht ausgelöst/Auslösung in JS

$dropZones.forEach($z => { 
    $z.addEventListener('dragover', onDragOver); 
    $z.addEventListener('dragleave', onDragLeave); 
    $z.addEventListener('drop', onDrop); 
}); 

Die dragover- und Dragleave Ereignisse auslösen und perfekt funktionieren. Ich mache einen Hover-Effekt für das div, indem ich eine CSS-Klasse hinzufüge.

const onDragOver = e => { 
    e.preventDefault; 
    let id = e.target.dataset.id; 
    let dropzone = document.querySelector(`.dropzone[data-id="${id}"]`); 
    dropzone.classList.add('ready'); 
}; 

Und im Dragleave-Ereignisse nur die Klasse I entfernen. Sie funktionieren also gut.
Aber das Drop-Ereignis wird nicht ausgelöst. Dies ist, was ich in der Drop-Ereignis haben

Wer weiß, warum das Ereignis nicht ausgelöst wird?

+0

@Downgoat Ich darf die Leute nicht grüßen? lol –

+0

[Siehe diesen Beitrag beschreibt "Hallo"] (http://meta.stackexchange.com/q/2950/204010) – Downgoat

+0

Einfache menschliche Logik: Es ist nur höflich, wenn Sie Leute begrüßen, die bereit sind, Ihnen zu helfen. Trotzdem danke für die Mühe. –

Antwort

0

Ja, also schaute ich zurück und fand heraus, dass die preventDefault() Funktion falsch geschrieben ist.
Ich schrieb es ohne ().
Danke trotzdem.