Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Po dodaniu deklaracji zmiennej przestaje działać.
Forum PHP.pl > Forum > Po stronie przeglądarki
thigrand
mam dziwny problem w js.
http://codepen.io/thigrand/pen/PwpLXB


[JAVASCRIPT] pobierz, plaintext
  1. function handleFileSelect(evt) {
  2. evt.stopPropagation();
  3. evt.preventDefault();
  4.  
  5. //var files = {};
  6. //files.dr = evt.dataTransfer.files;
  7. //files.inp = evt.target.files; eksperymenty
  8.  
  9. //var filesDr = evt.dataTransfer.files; // Problematic line
  10. var filesInp = evt.target.files; // FileList object
  11.  
  12.  
  13. // Loop through the FileList and render image files as thumbnails.
  14.  
  15. for (var i = 0, f; f = filesInp[i]; i++) {
  16.  
  17. // Only process image files.
  18. if (!f.type.match('image.*')) {
  19. continue;
  20. }
  21.  
  22. var reader = new FileReader();
  23.  
  24. // Closure to capture the file information.
  25. reader.onload = (function(theFile) {
  26.  
  27. return function(e) {
  28. // Render thumbnail.
  29. var span = document.createElement('span');
  30. span.innerHTML = ['<a href="',e.target.result ,'" onclick="this.target=\'_blank\'"><img class="thumb" src="', e.target.result,
  31. '" title="', escape(theFile.name), '"/></a>'].join('');
  32. document.getElementById('thumbnails').insertBefore(span, null);
  33. };
  34. })(f);
  35.  
  36. // Read in the image file as a data URL.
  37. reader.readAsDataURL(f);
  38. }
  39. }
  40.  
  41. function handleDragOver(evt) {
  42. evt.stopPropagation();
  43. evt.preventDefault();
  44. evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
  45. }
  46.  
  47. // Setup the dnd listeners.
  48. var dropZone = document.getElementById('dragg');
  49. dropZone.addEventListener('dragover', handleDragOver, false);
  50. dropZone.addEventListener('drop', handleFileSelect, false);
  51.  
  52. document.getElementById('files').addEventListener('change', handleFileSelect, false);
  53.  
[JAVASCRIPT] pobierz, plaintext

Jak odkomentuje linie z podpisem "Problematic line" to przestaje mi dzialac dodawanie miniaturek.
A przeciez definiuje tam tylko zmienna ktora nigdzie nie jest wywolana. WTF?
Docelowo chcę zrobić żeby działał zarówno input jak i DnD.
trueblue
Cytat
The DataTransfer object is used to hold the data that is being dragged during a drag and drop operation.
...
This object is available from the dataTransfer property of all drag events.

Jeśli wstawiasz plik poprzez input to zmienna evt nie ma takiej właściwości.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.