У меня есть элемент, который можно перетаскивать.Я хочу удалить изображение-призрак, поскольку я буду создавать его другим способом.
Однако Google Chrome не позволяет мне остановить появление изображения-призрака с помощью setDragImage()
.Пустое изображение создается перед перетаскиванием, и я использую setDragImage()
внутри обработчика событий dragstart
, поэтому я не вижу, что я делаю неправильно.Призрачное изображение не должно появляться.
Вот пример:
const blankCanvas = document.createElement('canvas');
document.querySelector('.item')
.addEventListener('dragstart', (e) => {
e.dataTransfer.setDragImage(blankCanvas, 0, 0);
});
.item {
display: inline-block;
width: 5rem;
height: 5rem;
overflow: hidden;
margin: 1rem;
border: 2px solid #fe0000;
cursor: pointer;
}
.item__img {
width: 100%;
height: auto;
}
<div draggable="true" class="item">
<img src="https://placehold.it/200x200?text=Drag+Me" alt="" class="item__img">
</div>
В Chrome, если вы перетащите рамку с красной рамкой, появится призрачное изображение, хотя я использую setDragImage()
.На Firefox все работает правильно (а Edge ... даже не имеет этой функции).
Моя версия Chrome - 66.