Javascript 如何在React中确定事件所附加的元素?

Javascript 如何在React中确定事件所附加的元素?,javascript,reactjs,dom,Javascript,Reactjs,Dom,假设我有一个按钮元素,其中有一个子元素。如果我在按钮中添加一个onClick事件,然后单击子项,则event.target将是子项。如何找到具有单击处理程序(在本例中为按钮)的元素 下面的代码是这个问题的简化示例,在我的应用程序中,我有几个嵌套级别,因此使用parentElement是不够的 const按钮=( console.log(event.target)}> ); render(按钮,document.getElementById('root') .outer{ 宽度:200px; 高

假设我有一个按钮元素,其中有一个子元素。如果我在按钮中添加一个
onClick
事件,然后单击子项,则event.target将是子项。如何找到具有单击处理程序(在本例中为按钮)的元素

下面的代码是这个问题的简化示例,在我的应用程序中,我有几个嵌套级别,因此使用
parentElement
是不够的

const按钮=(
console.log(event.target)}>
);
render(按钮,document.getElementById('root')
.outer{
宽度:200px;
高度:200px;
背景:绿色;
}
.内部{
显示:块;
宽度:100px;
高度:100px;
背景:红色;
}

您需要使用属性
currentTarget

MDN所说的:

当事件遍历DOM时,事件接口的currentTarget只读属性标识事件的当前目标。它总是指事件处理程序已附加到的元素,而不是event.target,它标识事件发生的元素以及可能是其后代的元素


您需要
currentTarget
而不是
target
。请参见

Hmm,
event
变量来自何处,因为它不是从侦听器传递的?它是如何可选的,因为它仍然神奇地工作。。。