我如何定位鼠标单击在画布,而在一个表

How do I locate a mouse click in a canvas while in a table?

本文关键字:一个 单击 何定位 定位 鼠标      更新时间:2023-09-26

我已经构建了一个控件,用于从色轮中选择颜色,并具有色调饱和度和亮度的独立滑块。我想并排使用它们中的两个,格式化导致我想把这些画布对象放在一个表中。现在,当我本地化点击,画布偏移值(canvas.offsetLeftcanvas.offsetTop不是0,所以点击是远远位于右边和底部从他们所在的地方)。有没有人弄清楚如何本地化鼠标点击从画布,而在一个表。

很抱歉打扰你,我已经找到了一个答案,通过将表对象的偏移量传递给处理鼠标事件的对象

获取所需画布元素的引用:

var canvas=document.getElementById("myCanvas");

然后使用getBoundingClientRect给你画布的左坐标和上坐标

var BB=canvas.getBoundingClientRect();
var offsetX=BB.left;
var offsetY=BB.top;