MouseEvent:页面放大时的高精度鼠标位置?

时间:2017-10-30 15:40:59

标签: javascript mouseevent

如果我尽可能地放大页面并在页面上非常缓慢地移动鼠标(一次一个像素),则会生成mousemove个事件' clientX / clientY值没有小数部分,因此会失去精确度。 (通常,具有完全相同坐标值的几个mousemove事件会连续触发,因为鼠标确实会移动,但移动的CSS像素不会超过一个。)在所有浏览器中我都是如此适用于Windows 10 - Chrome,Firefox,Opera和Edge。

MDN的"Browser Compatibility" section表示在Chrome 56中clientX已从long更改为double。因此,此更改似乎最近已恢复,知道Chrome的情况至少。

screenX / screenY坐标值似乎是设备像素,而不是CSS像素,因此对缩放不变。当我尝试时,Firefox,Chrome,Edge和Opera都是如此。这似乎很有希望,但不知道设备像素中的屏幕矩形的边缘也可能对我没有多大用处。 (看起来未来的草案规范也希望screenX / Y无论如何都是CSS像素。)

所以:有没有什么方法我没有看到鼠标位置在高缩放级别下没有精度损失?

0 个答案:

没有答案