Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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 当画布';s高度超过屏幕';s高度(当滚动条出现时)_Javascript_Html_Canvas_Mouseenter_Mouseclick Event - Fatal编程技术网

Javascript 当画布';s高度超过屏幕';s高度(当滚动条出现时)

Javascript 当画布';s高度超过屏幕';s高度(当滚动条出现时),javascript,html,canvas,mouseenter,mouseclick-event,Javascript,Html,Canvas,Mouseenter,Mouseclick Event,当没有滚动条时,我可以在画布上测试鼠标坐标: var mx = evt.clientX - canvas.offsetX var my = evt.clientY - canvas.offsetY 但是,当我向下滚动网页并重新定位鼠标时,坐标是倾斜的 有什么建议吗?听起来你是想测试鼠标在画布上的位置(而不是鼠标在屏幕上的位置)。因此,即使有滚动条,evt.offsetX和evt.offsetY也足够了 请在此处查看工作现场演示,然后打开JS控制台,您将能够看到光标相对于画布的坐标: var

当没有滚动条时,我可以在画布上测试鼠标坐标:

var mx = evt.clientX - canvas.offsetX
var my = evt.clientY - canvas.offsetY
但是,当我向下滚动网页并重新定位鼠标时,坐标是倾斜的


有什么建议吗?

听起来你是想测试鼠标在画布上的位置(而不是鼠标在屏幕上的位置)。因此,即使有滚动条,
evt.offsetX
evt.offsetY
也足够了

请在此处查看工作现场演示,然后打开JS控制台,您将能够看到光标相对于画布的坐标:

var canvas=document.getElementsByTagName(“canvas”)[0];
canvas.onmousemove=函数(evt){
var mx=evt.offsetX;
var my=evt.offsetY;
console.log(mx,my);
}

听起来您好像在尝试测试鼠标在画布上的位置(而不是鼠标在屏幕上的位置)。因此,即使有滚动条,
evt.offsetX
evt.offsetY
也足够了

请在此处查看工作现场演示,然后打开JS控制台,您将能够看到光标相对于画布的坐标:

var canvas=document.getElementsByTagName(“canvas”)[0];
canvas.onmousemove=函数(evt){
var mx=evt.offsetX;
var my=evt.offsetY;
console.log(mx,my);
}

亲爱的李明,你觉得我的回答对你有帮助吗?是的,你的回答确实帮助了我。:)堆栈溢出当答案完全解决您的问题时,通常通过单击其左侧的灰色复选标记将其标记为已接受。这给提问者和回答者带来了声誉。谢谢哦,好的。我不熟悉堆栈溢出,不知道该特性。很抱歉给您带来不便。@MaximillianLaumeister您的输入正是我所需要的。现在我知道在接下来的几个月里我能做些什么了。谢谢您抽出时间。亲爱的李明,您觉得我的回答对您有帮助吗?是的,您的回答确实帮助了我。:)堆栈溢出当答案完全解决您的问题时,通常通过单击其左侧的灰色复选标记将其标记为已接受。这给提问者和回答者带来了声誉。谢谢哦,好的。我不熟悉堆栈溢出,不知道该特性。很抱歉给您带来不便。@MaximillianLaumeister您的输入正是我所需要的。现在我知道在接下来的几个月里我能做些什么了。谢谢你抽出时间。