我有图像,当我开始将鼠标悬停在其上时,我想在其中显示 div,但是当该 div 悬停时,React 会发疯,因为在第二个 div 出现图像后,停止他的 onMouseMove
事件,
State 保存变量,该变量将决定 div 是否出现。变量名称“缩放”
即使第二个 div 出现,我也想继续触发 onMouseMove
事件,有什么想法可以得到这样的东西吗?
<img
onMouseMove={e => {
this.setState({ zoom: 'block' });
}}
onMouseLeave={() => {
this.setState({ zoom: 'none' });
}}
id="productImg"
src={images[this.state.imgActive]}
/>
)}
<div
style={{
display: this.state.zoom,
float: 'right',
overflow: 'hidden',
zIndex: 100,
transform: 'translateZ(0px)',
opacity: '0.4',
zoom: 1,
width: 285,
height: 285,
backgroundColor: 'white',
border: '1px solrgb(0, 0, 0)',
backgroundRepeat: 'no-repeat',
position: 'absolute',
left: 0,
top: 0
}}
>
最佳答案
看起来div
位于img
之上。
当它出现时,您的鼠标位于 div
顶部,而不再位于 img
顶部,从而取消该事件。
我建议将 CSS 属性 pointerEvents: 'none'
添加到 div
中,以便忽略鼠标事件并让下面的元素处理它们。
希望有帮助。
关于javascript - 如何在MouseMove事件上冒泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53402860/