2 Stimmen

JavaScript HTML5: Problem mit Drag-and-Drop für eine Gmail-ähnliche Upload-Schnittstelle

Ein Bildschirmfoto meiner Schnittstelle:

enter image description here

Jedes Element des Baums ist ein <li> und eine <a> .

Jeder Ordner ist ein Ablagebereich für den Datei-Upload, ähnlich wie der Google Mail Upload per Drag-and-Drop.

Wenn ich auf einen Ordner mit einer Datei von meinem Rechner "ziehe", füge ich einen Stil hinzu:

enter image description here

Der Code dafür:

var dropZoneElement = document.getElementById($this.attr('id'));

dropZoneElement.addEventListener('dragenter', onDragEnter, false);
dropZoneElement.addEventListener('dragleave', onDragLeave, false);
dropZoneElement.addEventListener('drop', onDrop, false);

function onDragEnter(event) {
  event.preventDefault();
  event.stopPropagation();
  $this.addClass('gmail-like');
}

function onDragLeave(event) {...}
function onDrop(event) {...}

Aber das Problem ist, dass ich, wenn ich einen Link ziehe ( <a> ) auf einen Ordner (auch den gefälschten Link test ohne Ziel, siehe Screenshot), fügt die Seite den Stil zum Hochladen hinzu (kein Upload, nur visuell):

enter image description here

  • Warum?
  • Gibt es eine Möglichkeit, dies zu deaktivieren?

Ich möchte, dass die Formatvorlage nur dann angewendet wird, wenn ich eine Datei von meinem Computer ziehe und ablege.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X