antv g2plot

系统文本缩放1.25,屏幕1920的宽度浏览器实际为1536,满屏显示,zoom= window.innerWidth / 1920 ,zoom=0.8,antv鼠标移入最右边时tooltip却显示得最左边的tooltip,移入图表其他位置不会显示tooltip。 (function (targetWidth = 1920) { const isFox =navigator.userAgent.indexOf('Firefox') > -1 ? true : false; const style = document.createElement('style'); style.innerHTML = html { width:${targetWidth + 'px'}; overflow: hidden; ${isFox ?transform-origin: top left;: ''} } body { width: 100%; height: 100%; margin: 0; }; document.head.appendChild(style); let adjustWindow = () => { const ratio = window.innerWidth / targetWidth; const htmlHeight =(window.innerHeight * targetWidth) / window.innerWidth + 'px'; document.documentElement.style.height = htmlHeight; if (isFox) { document.documentElement.style.transform = scale(${ratio}); } else { document.documentElement.style.zoom = ratio; } document.documentElement.setAttribute('data-ratio', ratio); }; adjustWindow(); window.addEventListener('resize', adjustWindow); // 使鼠标坐标一致 let x_get = Object.getOwnPropertyDescriptor(MouseEvent.prototype, 'x') .get; let y_get = Object.getOwnPropertyDescriptor(MouseEvent.prototype, 'y') .get; Object.defineProperties(MouseEvent.prototype, { R: { get: function () { return parseFloat( document.documentElement.getAttribute('data-ratio') ); } }, x: { get: function () { return x_get.call(this) / this.R; } }, y: { get: function () { return y_get.call(this) / this.R; } } }); if (isFox) { let getBoundingClientRect = Element.prototype.getBoundingClientRect; Element.prototype.getBoundingClientRect = function () { let value = getBoundingClientRect.call(this); let ratio = parseFloat( document.documentElement.getAttribute('data-ratio') ); value = new Proxy(value, { get: function (target, proper) { return Reflect.get(target, proper) / ratio; } }); return value; }; } })();

电脑分辨率1920*1080和系统文本缩放1.25,g2plot在鼠标移入时tooltip显示位置不对,缩放比恢复到100%,则正常

代码出现了混乱的情况,请你仔细检查,相关的回车为什么导致了一个丢失。

()