Jes*_*ica 5 javascript reactjs
如何检查光标是否位于某个元素上?我知道有一个事件onMouseOverand onMouseEnter,但是如果光标位于页面加载时的元素上,则该事件不会触发。
那么我如何检查光标是否位于某个元素上,可能是在 useEffect 函数中。
TLDR:不,在发生鼠标事件之前不可能获取有关光标的任何信息。
pageX鼠标位置通过鼠标事件的, pageY, offsetX, offsetY, screenX,报告给浏览器screenY。(来源:MDN 文档:鼠标事件。)唯一可用于显示光标位置的鼠标事件将需要用户的移动或交互。如果 JS 环境甚至不知道光标在哪里,那么它就不会知道它是否悬停在元素上。
您可能想快速浏览一下这个答案:StackOverflow:如何在没有事件的情况下获取鼠标位置(无需移动鼠标)?。
这可能是出于安全原因。 如果允许一个网站知道光标在另一个网站上的位置,那么他们还能知道什么?他们能知道光标悬停在什么地方吗?他们能知道它的id属性和其他属性吗?他们是否只允许访问事件序列中的任何内容?那样的话恐怕不太好。理想的安全性使每个网站都有自己的事件链:如果没有鼠标移动,网站甚至不知道有鼠标。