Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在HTML5画布上单击坐标?_Javascript_Jquery_Html_Canvas - Fatal编程技术网

Javascript 如何在HTML5画布上单击坐标?

Javascript 如何在HTML5画布上单击坐标?,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,我需要得到我点击HTML5画布元素的x和y坐标。我对y坐标执行了以下操作: $("#my_canvas").click(function(event) { alert(Math.floor(event.clientY-$(this).offset().top)); }); 这给出了正确的y坐标。问题是如果向下滚动,clientY会变小,因为它似乎在测量屏幕上的y坐标,而忽略了滚动。所以上面给出了一个负数 获取x和y坐标的正确方法是什么?使用而不是clientY,这样您比较的

我需要得到我点击HTML5画布元素的x和y坐标。我对y坐标执行了以下操作:

 $("#my_canvas").click(function(event) {
        alert(Math.floor(event.clientY-$(this).offset().top));
 });
这给出了正确的y坐标。问题是如果向下滚动,
clientY
会变小,因为它似乎在测量屏幕上的y坐标,而忽略了滚动。所以上面给出了一个负数

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

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

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

您还可以将
$(document.scrollTop()
计入顶部偏移量。我认为这与html5和画布无关