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 ?

Susan Sarandon
Libérer: 2024-12-08 01:37:11
original
437 Les gens l'ont consulté

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

Obtention des coordonnées d'un clic de souris sur un élément du canevas

Pour obtenir les coordonnées x et y d'un clic de souris par rapport à un élément du canevas, suivez ces étapes :

  1. Définir l'événement Gestionnaire :

    canvas.addEventListener('mousedown', function(e) {
        // Code to get cursor position
    })
    Copier après la connexion
  2. Calculer la position du curseur :
    Dans le gestionnaire d'événements, utilisez la méthode getBoundingClientRect() pour obtenir la position relative du canevas. à l'écran, puis soustrayez-en les coordonnées de l'événement de clic pour trouver le relatif position :

    const rect = canvas.getBoundingClientRect()
    const x = event.clientX - rect.left
    const y = event.clientY - rect.top
    Copier après la connexion
  3. Enregistrer les coordonnées :
    Enfin, vous pouvez afficher les valeurs de coordonnées sur la console ou les utiliser dans votre application :

    console.log("x: " + x + " y: " + y)
    Copier après la connexion

Exemple :

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

Cette solution offre une compatibilité entre navigateurs pour Safari, Opera et Firefox. Pour la prise en charge des navigateurs existants, envisagez d'utiliser jQuery ou une bibliothèque multi-navigateurs.

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