Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mendapatkan Koordinat Tetikus Relatif dengan Elemen Kanvas?

Bagaimana untuk Mendapatkan Koordinat Tetikus Relatif dengan Elemen Kanvas?

Patricia Arquette
Lepaskan: 2024-11-03 03:58:02
asal
615 orang telah melayarinya

How to Get Mouse Coordinates Relative to a Canvas Element?

Mendapatkan Koordinat Tetikus Berkaitan dengan Elemen Kanvas

Dalam usaha untuk mencipta aplikasi lukisan berasaskan kanvas yang ringkas, satu cabaran biasa ialah menentukan kedudukan tetikus pada kanvas.

Penyelesaian

Satu pendekatan untuk menyelesaikannya ialah dengan menggunakan harta BoundingClientRect. Ini boleh dilaksanakan seperti berikut:

<code class="javascript">document.getElementById('clickme').onclick = function(e) {
  var rect = e.target.getBoundingClientRect();
  var x = e.clientX - rect.left;
  var y = e.clientY - rect.top;
  console.log("Left: " + x + " ; Top: " + y + ".");
};</code>
Salin selepas log masuk

Contoh

<code class="html"><div id="clickme">
  Click Me -<br>
  (this box has margin-left: 100px; margin-top: 20px;)
</div></code>
Salin selepas log masuk

Penjelasan

  1. Apabila tetikus mengklik pada elemen clickme, pengendali acara onclick dicetuskan.
  2. Kaedah getBoundingClientRect() mendapatkan semula kedudukan dan saiz elemen berbanding dengan viewport.
  3. E.clientX dan e.clientY sifat mewakili kedudukan mutlak tetikus dalam port pandang.
  4. Dengan menolak rect.left and rect.top daripada koordinat mutlak ini, kami memperoleh kedudukan tetikus berbanding sudut kiri atas elemen.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Koordinat Tetikus Relatif dengan Elemen Kanvas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan