【问题标题】:How to trigger the parent element when firing an event?触发事件时如何触发父元素?
【发布时间】:2021-10-07 18:20:17
【问题描述】:

我想在每次单击按钮时对按钮进行控制台记录,但是如果我单击按钮中的任何子元素,则会打印出我不想要的子元素。如何确保打印具有事件侦听器的元素?

 const onCrossClick = (e) => {
   console.log(e.target);
 };
<button
  className="delete-button"
  onClick={onCrossClick}
>
  <i className="fas fa-times-circle fa-2x"></i>
</button>

【问题讨论】:

  • 你需要有事件监听器的元素做什么?这将有助于为您的问题提供答案

标签: javascript reactjs event-handling


【解决方案1】:
const onCrossClick = (e) => {
   console.log(e.currentTarget);
};

<button
  className="delete-button"
  onClick={onCrossClick}>    
     <i className="fas fa-times-circle fa-2x"></i>
</button>

【讨论】:

    【解决方案2】:

    使用closest()

    const onCrossClick = (e) => {
       console.log(e.target.closest("button"));
    };
    

    【讨论】:

      猜你喜欢
      • 2010-11-02
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多