[英]react onMouseOver not working and if does fires only one time
我想激发与 css ':hover' 相同的效果。 我试过这些方法:
onMouseOver, onMouseEnter, onMouseMove
例子:
function example() {
return (
<h1 onMouseOver={(e)=>{console.log(e.target)}}> hello </h1>
)
}
但我注意到它仅在我单击元素时才会触发并且不会连续执行。 我希望在 css 中具有相同的 es ':hover' 效果,当元素悬停时会连续触发。 我错过了什么?
我复制了相同的代码并将其粘贴到 vscode 中,它在移动设备中无法使用,但在点击时(因为移动设备中没有 hover)您可以尝试:
<h1 onMouseOver={(e)=>console.log(e.target)}> hello </h1>
代替:
<h1 onMouseOver={(e)=>{console.log(e.target)}}> hello </h1>
但有两种工作方式
我刚刚和你做了同样的例子,它正在工作。 你应该检查你的代码并弄清楚。
// 这是我的代码
function example() {
return <h1 onMouseOver={(e) => console.log(e.target)}>Hello </h1>;
}
export default example;
这个问题可以改进。 但是,我在这里发布答案。 你可以使用isHovered
的值来做一些事情:
function example() {
const [isHovered, setIsHovered] = useState(false)
return (
<h1
onMouseEnter={() => setIsHovered(true)}
onMouseLeave={() => setIsHovered(false)}
> hello </h1>
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.