Я создал элемент холста. Здесь я перетаскиваю изображения с панели инструментов. Теперь я хочу получить изображение, положение по отношению к событию перемещения мыши. Но не смог получить изображение. Я просто хочу перемещать изображение только тогда, когда мышь находится над изображением, а не когда мышь находится внутри границы холста.Есть ли способ получить дочерний элемент холста?
Мой пример кода:
$scope.moves = function() {
x = document.getElementById("canvasOne");
canvas = x.getContext("2d");
img = document.getElementById("gn");
x.addEventListener("dragenter", function (e) {
e.preventDefault();
}, false);
x.addEventListener("dragover", function (e) {
e.preventDefault();
}, false);
x.addEventListener("drop", droped, false);
};
function droped(e) {
var xpos = e.clientX;
var ypos = e.clientY;
canvas.drawImage(img, xpos, ypos);
}
function moving(e) {
canvas.clearRect(0, 0, x.width, x.height);
var xpos = e.clientX;
var ypos = e.clientY;
canvas.drawImage(img, xpos - 250, ypos - 250);
}
вы можете сохранить положение и размеры изображения на холсте, когда вы уронили их, и используйте его. –