gpt4 book ai didi

reactjs - 在子元素上 react onMouseEnter 事件触发

转载 作者:行者123 更新时间:2023-12-04 02:49:53 37 4
gpt4 key购买 nike

我正在将 onMouseEnter 事件分配给父元素,但子元素是被此事件触发的元素。当我在控制台上写 e.target 时,它会打印出 child 。我怎样才能防止这种行为?

我已经尝试了 e.stopPropagation(),并更新了 react。

import React, { Component } from 'react';

export default class Menu extends Component {
menuElement_Click(e) {
// trigger change
}

menuItem_MouseEnter(e) {
console.log(e.target);
}

render() {
return (
<div className='menu-container'>
<div className='menu-item'>
<div className='menu-label' to='/'
onClick={this.menuElement_Click.bind(this)}>
Home
</div>
</div>
<div className='menu-item' onMouseEnter={this.menuItem_MouseEnter.bind(this)}>
<div className='menu-label'>About</div>
<div className='sub-menu'>
<div className='sub-menu-item' to='/about#story'
onClick={this.menuElement_Click.bind(this)}>
Story
</div>
<div className='sub-menu-item' to='/about#more'
onClick={this.menuElement_Click.bind(this)}>
More
</div>
</div>
</div>
</div>
)
}
}

在控制台上打印

<div className='menu-label'>About</div>

但我需要它

<div className='menu-item'>...</div>

最佳答案

使用 event.currentTarget(在您的情况下为 e.currentTarget)。它始终引用事件处理程序已附加到 的元素。关于 e.target:Event 接口(interface)的 target 属性是对调度事件的对象的引用。


阅读更多关于:event.currentTargetevent.target

关于reactjs - 在子元素上 react onMouseEnter 事件触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55546973/

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