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
变量来自何处,因为它不是从侦听器传递的?它是如何可选的,因为它仍然神奇地工作。。。