Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Перетаскивание и бросание файла в Опере (https://javascript.ru/forum/events/41786-peretaskivanie-i-brosanie-fajjla-v-opere.html)

Yudik 29.09.2013 13:11

Перетаскивание и бросание файла в Опере
 
Приветствую. Столкнулся с такой проблемой, а может глюком, а може и у меня где косяк, в опере (последняя или может почти версия) : есть блок обрабатывающий бросание в него перетаскиваемого файла:
// перетаскивание файлов в область картинки
    $(".admin-quest-img")
      .bind("dragover", function(){return false;})// #drop-block блок куда мы будем перетаскивать наши файлы
      .bind("dragenter", function(){return false;})//просто обрабатываю вхолостую событие
      .bind('dragleave', function(){return false;})//
      .bind('drop',
      function(e) { // Действия при «вбросе» файлов в блок.
        if (e.originalEvent.dataTransfer.files.length) {
            
          // Отменяем реакцию браузера по-умолчанию на перетаскивание файлов.
          e.preventDefault();
          e.stopPropagation();
                  
          thismod.upload(e.originalEvent.dataTransfer.files); // Функция загрузки файлов.
          return false;
        }
      });

но почему то опере иногда все таки выполняет "действие по умолчанию" - берет и открывает картинку на текущей закладке, кто-нибудь сталкивался с подобной фигней ? Если "да" , то решимо ли и как ???

danik.js 29.09.2013 14:01

Для начала исключи слово "иногда". Определи четко когда что происходит. Проверь всегда ли вызывается drop, не сыплются ли ошибки в консоли и тд .
На dragleave действия по умолчанию нет, отменять там нефиг.

Yudik 29.09.2013 15:03

в том то и и дело, что не могу определить когда, ошибок в консоли нет. а вот всегда ли вызывается drop проверю... и у dragleave "return false" уберу...

Yudik 29.09.2013 15:10

вот только что сразу же произошло такое. return false убрал, Drop отработало как надо - файл появился на серваке, но и опера открыла картинку... че за такое:-/


Часовой пояс GMT +3, время: 20:56.