首页 > 解决方案 > 如何检测光标悬停在一个元素而不移动它?

问题描述

我正在构建一个网页应用程序,其中页面具有上一个/下一个导航按钮。这是一个单页的 React 应用程序,当导航按钮悬停时,上一页或下一页的数据会被预取。

当用户在不移动鼠标的情况下单击“下一步”两次时,尽管鼠标一直悬停在按钮上(在每个页面上的相同位置),但不会预加载第三页的数据,因为mouseover事件不会触发,直到除非在每次页面加载后鼠标至少移动 1px。

有没有一种方法可以在不移动光标的情况下检测鼠标悬停事件,而不涉及手动检查按钮的尺寸,特别是通过getBoundingClientRects()并与页面加载时的光标clientX/坐标进行比较?clientY

提前致谢!

标签: javascriptreact-routermouseeventmouseover

解决方案


正如 jalynn2 和 Shilly 建议的那样,最好将此属性存储为布尔值状态trueonMouseEnter反之亦然onMouseLeave


推荐阅读