gpt4 book ai didi

html - React - onmouseenter 在子元素之间不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 07:53:00 29 4
gpt4 key购买 nike

我正在尝试实现悬停时显示的菜单。问题是菜单在悬停在 DropdownOption 子元素之间时会隐藏,所以每当我在选项 1 和 2 之间悬停时。每个子元素都是一个 div,并且有 0px 的边距

  openDropdown = () => {
this.setState({showList: true})
}

closeDropdown = () => {
this.setState({showList: false})
}

showList = () => {
return (
<DropdownContainer onMouseEnter={this.openDropdown} onMouseLeave={this.closeDropdown}>
<DropdownOption>Option1</DropdownOption>
<DropdownOption>Option2</DropdownOption>
</DropdownContainer>
)
}

render () {
return (
<div onMouseEnter={this.openDropdown}>
<MenuButtonContainer>
Title
</MenuButtonContainer>
{this.state.showList ? this.showList() : null}
</div>
)
}

最佳答案

这听起来像是一个事件冒泡问题。

你在哪里有你的事件监听器回调,例如:

openDropdown = () => {
this.setState({showList: true})
}

尝试访问 event 对象,将其作为函数的参数包含在内。然后在事件对象上,调用 stopPropagation() 例如:

openDropdown = (event) => {
event.stopPropagation()
this.setState({showList: true})
}

关于html - React - onmouseenter 在子元素之间不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47583040/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com