Chrome中与Windows规模有关的拖放问题(125%)

时间:2018-09-19 13:54:11

标签: javascript html google-chrome drag-and-drop

我在Chrome(v69.0.3497.100)上存在拖放问题。具体来说,即使Windows缩放比例不是100%,某些拖放事件也会触发,即使它们不应该触发。

查看stackblitz示例,并尝试在其自身上方拖动“蓝色”矩形(只需将其向下拖动并放下一点)。如果Windows缩放比例设置为100%(浏览器缩放比例也为100%),则将按预期触发一个事件(dragEnter)(请检查控制台)。但是,如果将Windows缩放比例设置为125%(但浏览器缩放仍为100%),则将触发三个事件(两个dragEnter和一个dragLeave),并且我希望仅触发一个事件,因为将该元素拖放到其自身上(缩放比例为100%时就是这种情况)。

可能是因为这是Windows缩放(而不是浏览器的缩放),所以左(“浅红色”)矩形比它显示的要大,并且它位于右矩形的下面,并且事件传播到了它,尽管我不能这样做。不能证明所有元素在检查器中的大小都正确。

在最新的Firefox,IE或Edge中似乎没有发生这种情况。

有人知道为什么会这样以及如何解决吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

我对这个问题的关注越多,似乎与Chromium问题有关。几天前,我发布了一个问题,然后想为其设立赏金,然后找到您的问题,我相信它们是相互关联的:Subpixel scroll issue, can't set scrollTop properly on Chrome 69

Chromium问题跟踪器中有一些与小数位舍入相关的错误报告:link 1link 2 ...我还创建了自己的错误:link 3。应该有更多的信息,但是需要太多的时间进行研究。我认为我们可以共同努力,并更加注意这个问题,例如,如果这是Chromium的责任,则可以帮助他们进行澄清和确定优先顺序。

答案 1 :(得分:0)

我对版本76.0.3809.100(64位)有相同的问题。

我也对图像进行偏移以补偿您在stackbliz示例中获得的奇怪偏移。

但是要缩放200%,我需要将计算出的dragImage偏移量乘以4 !!!

在300%时为9
在350%时为12.25

您看到图案???!

我很担心这个问题。不知道它是否仅在Windows上,是否仅在桌面上。但是现在我想我必须要做window.devicePixelRatio ^ 2,这样我才能继续我的工作。