有以下 js 代码可以移动球的图像(取自网站https://learn.javascript.ru/drag-and-drop):
var ball = document.getElementById('ball');
ball.onmousedown = function(e) { // 1. отследить нажатие
// подготовить к перемещению
// 2. разместить на том же месте, но в абсолютных координатах
ball.style.position = 'absolute';
moveAt(e);
// переместим в body, чтобы мяч был точно не внутри position:relative
document.body.appendChild(ball);
ball.style.zIndex = 1000; // показывать мяч над другими элементами
// передвинуть мяч под координаты курсора
// и сдвинуть на половину ширины/высоты для центрирования
function moveAt(e) {
ball.style.left = e.pageX - ball.offsetWidth / 2 + 'px';
ball.style.top = e.pageY - ball.offsetHeight / 2 + 'px';
}
// 3, перемещать по экрану
document.onmousemove = function(e) {
moveAt(e);
}
// 4. отследить окончание переноса
ball.onmouseup = function() {
document.onmousemove = null;
ball.onmouseup = null;
}
// 5. Чтоб не обрабатывался как картинка браузером
ball.ondragstart = function() {
return false;
};
}
这段代码需要在react中实现,但是在react中创建onDragStart时,图片仍然被浏览器感知为图片。
onDragStart(e){
return false;
}
问题是如何解决它。
带有要传输的代码的站点: https ://learn.javascript.ru/drag-and-drop
这是您的反应代码: