当浏览器具有屏幕缩放功能时,ScreenX 和 ScreenY 不会将元素与光标对齐
ScreenX and ScreenY won't align element with cursor when browser has screen zoom
当屏幕缩放时,MouseEvent
的 event.screenX
和 event.screenY
不等同于从顶部和底部的 px 偏移量。缩小时它们会慢慢落在后面,放大时会慢慢跳到前面。
如何考虑屏幕缩放以使元素跟随我的光标?
诀窍是不使用 screenX
和 screenY
,而是使用 clientX
和 clientY
。这些测量值是相对于缩放的,也是相对于视口的(因此如果您的代码嵌入到视口中,它们仍然有效)。
当屏幕缩放时,MouseEvent
的 event.screenX
和 event.screenY
不等同于从顶部和底部的 px 偏移量。缩小时它们会慢慢落在后面,放大时会慢慢跳到前面。
如何考虑屏幕缩放以使元素跟随我的光标?
诀窍是不使用 screenX
和 screenY
,而是使用 clientX
和 clientY
。这些测量值是相对于缩放的,也是相对于视口的(因此如果您的代码嵌入到视口中,它们仍然有效)。