У меня есть элемент canvas, который является элементом canvas, состоящим из множества изображений.Я хочу добавить ярлык к каждому изображению на холсте, но хочу, чтобы он отображался только тогда, когда пользователь наводит курсор на правильное изображение.
Мне удалось отобразить некоторый текст, но я не могу понять, кактолько чтобы показать его при наведении курсора мыши и не показывать при отпускании мыши.В настоящее время я проверяю, совпадает ли позиция мыши с позицией мыши в массиве точек.Если это так, он добавляет текст.
canvas.addEventListener('mousemove', handleMouseMove.bind(this));
var handleMouseMove = function (e) {
var mousePos = getSquare(canvas, e);
var pos = points.filter((item => mousePos.x === item.x && mousePos.y === item.y));
var hit = false;
if (pos && pos.length) {
context.fillStyle = "#ffffff";
console.log(pos);
context.fillText('Hello', pos[0].x, pos[0].y);
} else {
context.fillStyle = "#ffffff00";
return;
}
};
var getSquare = function (canvas, evt) {
context.globalCompositeOperation = 'source-atop';
var rect = canvas.getBoundingClientRect();
return {
x: 1 + (evt.clientX - rect.left) - (evt.clientX - rect.left) % 20,
y: 1 + (evt.clientY - rect.top) - (evt.clientY - rect.top) % 20
};
};
По сути, я хочу, чтобы «Привет» отображался, но только когда вы наводите курсор на правильную позицию.