Как можно отключить событие dragover, которое запускается при перетаскивании выделенного текста?

Как я могу изменить код JavaScript так, чтобы форма срабатывала только при перетаскивании файлов, игнорируя выделенный текст при перетаскивании?
  • 28 марта 2024 г. 7:59
Ответы на вопрос 1
Для отключения события dragover, которое запускается при перетаскивании выделенного текста, вы можете добавить проверку в обработчик события dragover. Вот пример:

```javascript
document.addEventListener("dragover", function(event) {
    // Проверяем, что перетаскиваемый элемент - файл, а не выделенный текст
    if (event.dataTransfer.types.indexOf("Files") === -1) {
        event.preventDefault();
        event.stopPropagation();
    }
});
```

Этот код проверяет, что перетаскиваемый элемент является файлом, и если это не так, то отменяет событие dragover.

Чтобы форма реагировала только при перетаскивании файлов и игнорировала выделенный текст при перетаскивании, вы можете использовать код выше вместе с обработчиком события "drop", который обрабатывает событие, когда файлы бросят на форму. Вот пример:

```javascript
document.addEventListener("drop", function(event) {
    // Проверяем, что перетаскиваемый элемент - файл
    if (event.dataTransfer.files.length > 0) {
        // Обрабатываем перетаскивание файлов
        event.preventDefault();
        event.stopPropagation();
        // Ваш код для обработки перетаскивания файлов
    }
});
```

Таким образом, форма будет реагировать только при перетаскивании файлов, а не при перетаскивании выделенного текста.
Похожие вопросы