javascript - 如何在MouseMove事件上冒泡

标签 javascript reactjs event-handling dom-events mouseevent

我有图像,当我开始将鼠标悬停在其上时,我想在其中显示 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/

相关文章:

javascript - progress[value] 样式与 react

javascript - 如何在同一按钮位置循环切换多个按钮

在表单标签中调用时,Javascript 函数不起作用

javascript - Node.js 和 Socket.io - 来自 cmd 的消息多次发送

php - 为聊天应用程序存储 "Users Online"列表(php/ajax)

javascript - 如何在react和javascript中循环遍历数组并显示该数组对象内的数据

reactjs - 在React + Enzyme中模拟clientHeight和scrollHeight进行测试

C# - 当表单失去焦点时如何触发不透明事件?

c# - Monodroid EditText 输入类型编号检测输入按键

javascript - 在锦标赛中获胜的最佳算法(演示 2 人游戏)