我正在尝试在React中模拟hover事件。因此,我使用
不幸的是,当我第一次用鼠标进入元素时,两种方法都会被触发...
当我离开该元素时,只有
下面是我的代码:
onMouseEnter
和onMouseLeave
来触发状态变化。不幸的是,当我第一次用鼠标进入元素时,两种方法都会被触发...
当我离开该元素时,只有
onMouseLeave
被触发。有人知道为什么在进入元素时会触发onMouseLeave
方法吗?下面是我的代码:
handleOver(event){
event.preventDefault();
console.log('enter');
if(this.state.open === false){
this.setState({
open: true,
anchorEl: event.currentTarget,
});
}
}
handleLeave(event){
event.preventDefault();
console.log('leave');
if(this.state.open === true){
this.setState({open: false})
}
}
<img
onMouseEnter={this.handleOver}
onMouseLeave={this.handleLeave}
src={InfoIcon}
/>
<Popover
open={this.state.open}
anchorEl={this.state.anchorEl}
anchorOrigin={{horizontal: 'right', vertical: 'top'}}
targetOrigin={{horizontal: 'left', vertical: 'top'}}
onRequestClose={this.handleLeave}
muiTheme={darkBaseTheme}
/>