我一直在寻找一种将工具提示悬停在光标上方的方法,我已经看到很多帖子推荐使用该事件pageX并pageY协调如下内容:const showToolTip = (evt, text) => { let tooltip = document.getElementById("tooltip"); tooltip.innerHTML = text; console.log(evt) tooltip.style.visibility = "visible"; tooltip.style.left = evt.pageX +'px'; tooltip.style.top = evt.pageY + 'px';}但是,当我执行此操作时,工具提示通常位于鼠标右侧 400 像素和鼠标下方 300 像素。需要注意的是,我正在 SVG 上执行此操作:<div id="tooltip" style="position: absolute; visibility: hidden;"></div><svg id="calendar" width="636px" height="84px"></svg>....// SVG is made up of several boxes and when one is hovered over the tooltip should appear: box.addEventListener("mouseenter", (e) => {showToolTip(e, day)}) box.addEventListener("mouseout", () => {hideToolTip()}) svg.appendChild(box);}同样,所有这些功能都有效,工具提示会出现并四处移动,但它离鼠标所在的位置非常远。我试图通过写一些类似tooltip.style.left = (event.pageX - 300) + 'px'的作品来抵消这一点,但感觉很笨拙,有时在不同的尺寸下它会做奇怪的事情。
添加回答
举报
0/150
提交
取消