既に何度も書いているのに、毎回忘れて検索することになる、このトピックですが、意外と、「JavaScript マウス座標」で調べても、古い情報ばっかりで、正解がなかなか密からないんです。自分のブログに書いておけば、何ページもググらなくて済むので、ここに改めてメモ。
<canvas id="a_c" width="400" height="300"></canvas> <script> // マウスイベントを設定 var el = document.getElementById("a_c"); el.onmousedown = function (e) { var pos = getClientPos(e); console.log(pos); }; // 座標を求める function getClientPos(e) { var rect = e.target.getBoundingClientRect(); var x = e.clientX - rect.left; var y = e.clientY - rect.top; return {"x":x, "y":y}; } </script>