Jestem facetem z java, próbującym swoich sił w javascript i potrzebuję pomocy. Natknąłem się na niesamowity samouczek dotyczący przesyłania zdjęć tutaj Mozilla Tutorial i potrzebuję pomocy w ustaleniu tego. Obecnie pracuję nad funkcją przesyłania obrazów metodą "przeciągnij i upuść". Za każdym razem, gdy przeciągam obraz na mój obszar, mysz zmienia kolor na zielony, dzięki czemu jest aktywowany. Ale kiedy zwolnię, powinien wysłać mi alert, który mówi, że znaleziono jedno zdjęcie. Jednak zawsze po prostu alarmuje 0. Więc rozmiar tablicy wynosi 0. Jakieś pomysły? Dzięki za spojrzenie. Co Próbowałem bez powodzenia ...Przeciągnij i upuść wydarzenie javascript
- Kopiowanie i wklejanie kodu z samouczka w moim pliku javascript dokładnie
- Przenoszenie kodu, aby dodać słuchaczy poza funkcją i do okna onload
- Każda przeglądarka mam
...
function toggleStrideMedia()
{
if(getDisplay("strideMediaWrapper") == "" || getDisplay("strideMediaWrapper") == "none")
{
show("strideMediaWrapper");
getElement("strideMediaDropZone").addEventListener("dragenter", dragenter, false);
getElement("strideMediaDropZone").addEventListener("dragover", dragover, false);
getElement("strideMediaDropZone").addEventListener("drop", drop, false);
}
else
{
hide("strideMediaWrapper");
}
}
function dragenter(e)
{
e.stopPropagation();
e.preventDefault();
}
function dragover(e)
{
e.stopPropagation();
e.preventDefault();
}
function drop(e)
{
e.stopPropagation();
e.preventDefault();
var dt = e.dataTransfer;
var files = dt.files;
// THIS SHOULD BE GIVING ME A ONE BUT IT ALWAYS GIVES ME A ZERO INSTEAD
alert(files.length);
handleFiles(files);
}
.
UPDATE - Fiddle Wyniki
Korzystanie '' ondrop' ondragover' i zamiast ' addEventListener' może sprawić, że będzie działał na IE8, ale poza tym (np. dla współczesnych przeglądarek) to wszystko działa równie dobrze z 'addEventListener'. W każdym razie +1 dla prostego testu. –
Zgadzam się, a ogólnie sposób, w jaki wydarzenia są tutaj dołączane, jest nieco starożytny. Zakładam, że od momentu, gdy widzi alert, udało mu się połączyć wszystkie. – lmortenson
Skrzypce mówi 0 dla mnie w Chrome i Mozilli – gmustudent