javascript - 如何获取在 HTML5 Canvas 上单击的坐标?

标签 javascript jquery html canvas

我需要获取我在 HTML5 canvas 元素上单击的位置的 x 和 y 坐标。我为 y 坐标做了以下操作:

 $("#my_canvas").click(function(event) {
        alert(Math.floor(event.clientY-$(this).offset().top));
 });

这给了我看起来是正确的 y 坐标。问题是如果向下滚动,clientY 会变小,因为它似乎在测量屏幕上的 y 坐标,而忽略了滚动。所以上面给出了一个负数。

获取 x 和 y 坐标的正确方法是什么?

最佳答案

使用pageY而不是 clientY,这样您比较的两个坐标都是相对于文档的:

event.pageY-$(this).offset().top

关于javascript - 如何获取在 HTML5 Canvas 上单击的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14416930/

相关文章:

javascript - 当我克隆输入时 onblur 不起作用

javascript - D3.JS 带点图的工具提示

javascript - Crypto.js 使用字节数组中的 key 和 iv(向量)解密

jquery - 如何消除 Internet Explorer 9 中选择多个列表中所有选项的缓慢滚动

html - 在图像旁边放置文本

javascript - 使用 canvg 将 C3.js SVG 可视化到 Canvas - 折线图填充黑色矩形, "ERROR: Element ' parsererror' 尚未实现”

Javascript:每 3 秒执行一个函数,持续一分钟

javascript - 新 DOM 对象上的单击操作

php - 基于PHP、MySQL和HTML为博客制作评论部分

javascript - 使用 jQuery 超时删除最后一个 div,而不是全部删除