Heim > Web-Frontend > js-Tutorial > Wie kann ich präzise Mausklick-Koordinaten für ein Canvas-Element erhalten?

Wie kann ich präzise Mausklick-Koordinaten für ein Canvas-Element erhalten?

Mary-Kate Olsen
Freigeben: 2024-12-09 06:54:07
Original
843 Leute haben es durchsucht

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

Bestimmen von Mausklickkoordinaten auf Canvas-Elementen

Das Abrufen der genauen Koordinaten von Mausklicks innerhalb eines Canvas-Elements ist in verschiedenen Programmieranwendungen ein häufiger Bedarf . Die folgende Anleitung bietet einen unkomplizierten Ansatz für Webbrowser, einschließlich Safari, Opera und Firefox.

Browserübergreifende Lösung

Um eine einfache und browserübergreifende Lösung zu erreichen, Es kann eine JavaScript-Funktion namens getCursorPosition definiert werden:

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);
}
Nach dem Login kopieren

Diese Funktion berechnet die Koordinaten relativ zum Canvas-Element selbst.

Ereignisbehandlung

Um diese Funktionalität an ein Canvas-Element anzuhängen, fügen Sie einen Ereignis-Listener für Mouse-Down-Ereignisse hinzu:

const canvas = document.querySelector('canvas');
canvas.addEventListener('mousedown', function(e) {
    getCursorPosition(canvas, e);
});
Nach dem Login kopieren

Einmal Ein Mausklick wird erkannt, die Funktion getCursorPosition wird aufgerufen und die x- und y-Koordinaten des Klicks werden in der Konsole protokolliert.

Das obige ist der detaillierte Inhalt vonWie kann ich präzise Mausklick-Koordinaten für ein Canvas-Element erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage