当浏览器具有屏幕缩放功能时,ScreenX 和 ScreenY 不会将元素与光标对齐

ScreenX and ScreenY won't align element with cursor when browser has screen zoom

当屏幕缩放时,MouseEventevent.screenXevent.screenY 不等同于从顶部和底部的 px 偏移量。缩小时它们会慢慢落在后面,放大时会慢慢跳到前面。

如何考虑屏幕缩放以使元素跟随我的光标?

诀窍是不使用 screenXscreenY,而是使用 clientXclientY。这些测量值是相对于缩放的,也是相对于视口的(因此如果您的代码嵌入到视口中,它们仍然有效)。