使用CSS position-try移动元素后,事件无法返回元素正确坐标的问题求助
CSS position-try移动元素后,事件无法返回元素正确坐标的问题求助
我最近遇到了一个特别棘手的问题,还特意做了简化的复现案例来定位问题:
当浏览器自动计算后发现锚定元素在当前空间无法完整显示,会通过position-try特性把元素挪到合适的位置,但这时候我的JS代码获取到的居然还是元素移动前的原始坐标,完全不是它现在实际所在的位置!
我之前听人建议用了requestAnimationFrame()来尝试等浏览器渲染完再执行代码,但结果还是不对,我怀疑是不是自己的用法有问题?或者有没有其他靠谱的方法,能让我的脚本精准地在浏览器完成所有渲染操作之后再运行?
具体的现象可以这样观察:页面上的红色三角标记,在前面几个div上都会正常跟着鼠标指针走,但当鼠标移到某个div上时,浏览器判断弹窗空间不足,自动把弹窗挪到了新位置,这时候三角的指向居然还在沿用弹窗原来位置的坐标,完全和实际弹窗位置对不上,看起来特别怪异。
备注:内容来源于stack exchange,提问作者wind_kind




