Maison > interface Web > js tutoriel > Comment puis-je obtenir les coordonnées d'un clic de souris sur un élément du canevas ?

Comment puis-je obtenir les coordonnées d'un clic de souris sur un élément du canevas ?

Patricia Arquette
Libérer: 2024-12-08 14:34:15
original
608 Les gens l'ont consulté

How Can I Get Mouse Click Coordinates on a Canvas Element?

Obtention des coordonnées des clics de souris sur un élément de canevas

La détermination des coordonnées des clics de souris sur un élément de canevas est cruciale pour diverses applications. Voici une solution multi-navigateurs qui fonctionne dans Safari, Opera et Firefox :

function getCursorPosition(canvas, event) {
    const rect = canvas.getBoundingClientRect();
    const x = event.clientX - rect.left;
    const y = event.clientY - rect.top;
    console.log("x: " + x + " y: " + y);
}

const canvas = document.querySelector('canvas');
canvas.addEventListener('mousedown', function(e) {
    getCursorPosition(canvas, e);
});
Copier après la connexion

Cet extrait de code utilise la méthode getBoundingClientRect() pour obtenir la position de l'élément canevas dans le document. Il calcule ensuite les coordonnées x et y du clic de souris par rapport à l'origine de l'élément canevas.

En ajoutant un écouteur d'événement pour l'événement mousedown, vous pouvez capturer les clics de souris et récupérer les coordonnées à l'aide de la fonction getCursorPosition. Ces informations peuvent être traitées ultérieurement à diverses fins, telles que la manipulation d'objets ou l'interaction de l'utilisateur au sein de l'élément canevas.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal