如何在 React 中使用 e.target 使用 EventListener 而不是其子元素记录元素
How to log the element with the EventListener instead of its children using e.target in React
我有一个带有点击 EventListener 的 li 元素,我想使用 e.target 记录 li 元素,但是如果我点击 li 内部的任何内容,它会记录该元素而不是 li它上面的实际 EventListener。我怎样才能让它只记录带有 EventListener 的 li/Element?
这里是代码的沙箱:https://codesandbox.io/embed/romantic-noether-gdjjv?fontsize=14&hidenavigation=1&theme=dark
期望的结果是无论我在何处单击,它都会记录 li。
提前致谢!
您必须使用 e.currentTarget
而不是 e.target
。
您应该将日志更改为如下内容
const handleClick = (e) => { console.log(e.currentTarget); };
我有一个带有点击 EventListener 的 li 元素,我想使用 e.target 记录 li 元素,但是如果我点击 li 内部的任何内容,它会记录该元素而不是 li它上面的实际 EventListener。我怎样才能让它只记录带有 EventListener 的 li/Element?
这里是代码的沙箱:https://codesandbox.io/embed/romantic-noether-gdjjv?fontsize=14&hidenavigation=1&theme=dark
期望的结果是无论我在何处单击,它都会记录 li。
提前致谢!
您必须使用 e.currentTarget
而不是 e.target
。
您应该将日志更改为如下内容
const handleClick = (e) => { console.log(e.currentTarget); };