react:onClick-只获取被点击的元素,而不是子元素

时间:2018-10-02 09:48:52

标签: javascript reactjs

我有一个按钮,此按钮内是一个非常棒的svg。 侦听器仅在按钮上,而不在svg上。但是,当我单击svg时,event.target不是按钮。

但是我只需要按钮作为目标即可。

代码如下:

sleep

我写了一点笔:https://codepen.io/DaFunkyAlex/pen/aRvVjd

2 个答案:

答案 0 :(得分:4)

您应该使用:event.currentTarget,它始终是侦听事件的对象。

event.target是获得点击的实际目标。

答案 1 :(得分:1)

可以通过多种方式完成。我更喜欢CSS的方式,将 pointer-events:none 应用于子 span

Codepen:https://codepen.io/imsontosh/pen/mzeqNx

button { 
  background: #eee;
  border: 1px solid #ddd; 
  width: 150px;
  span{
    pointer-events:none;
  }
}