Javascript 除一个td外,如何在tr上应用onClick?

Javascript 除一个td外,如何在tr上应用onClick?,javascript,reactjs,html-table,Javascript,Reactjs,Html Table,我的react组件中有这个表。我需要在所有上单击onClick,但需要排除最后一列() 有可能做到吗 <tr className="cursor-pointer" key={activity._id} onClick={() => activeTab === "active" ? this.setState({ activity, completeModal: true }) : this.setSt

我的react组件中有这个表。我需要在所有
上单击
onClick
,但需要排除最后一列(

有可能做到吗

<tr
  className="cursor-pointer"
  key={activity._id}
  onClick={() =>
    activeTab === "active"
      ? this.setState({ activity, completeModal: true })
      : this.setState({ activity, showModal: true })
  }
>
  <td>{moment(activity.date).format("MM/DD/YY h:mm a")}</td>
  <td>{activity.manifestNumber}</td>
  <td>
    <NumberFormat
      thousandSeparator={true}
      displayType={"text"}
      value={activity.grossWeight}
    />{" "}
    lbs
  </td>
  <td>{activity.facility.name}</td>
</tr>

activeTab==“活动”
? this.setState({activity,completeModal:true})
:this.setState({activity,showmodel:true})
}
>
{时刻(activity.date).format(“MM/DD/YY h:MM a”)}
{activity.manifestNumber}
{" "}
磅
{activity.facility.name}

如果给最后一个
td
一个
id
属性,则可以使用
onClick
处理程序中的
事件.target.id
值,如果它与
id
匹配,则不执行任何操作,例如:

onClick={event => {
  if (event.target.id === 'someId') {
    return;
  }

  if (activeTab === "active") {
    this.setState({ activity, completeModal: true })
  }
  else {
    this.setState({ activity, showModal: true })
  }
}}

<td id={'someId'}>{activity.facility.name}</td>
onClick={event=>{
如果(event.target.id=='someId'){
返回;
}
如果(活动选项卡==“活动”){
this.setState({activity,completeModal:true})
}
否则{
this.setState({activity,showmodel:true})
}
}}
{activity.facility.name}

演示:

单击最后一个
td
,您可以使用
stopPropagation()

<tr
  className="cursor-pointer"
  key={activity._id}
  onClick={() =>
    activeTab === "active"
      ? this.setState({ activity, completeModal: true })
      : this.setState({ activity, showModal: true })
  }
>
  <td>{moment(activity.date).format("MM/DD/YY h:mm a")}</td>
  <td>{activity.manifestNumber}</td>
  <td>
    <NumberFormat
      thousandSeparator={true}
      displayType={"text"}
      value={activity.grossWeight}
    />{" "}
    lbs
  </td>
  <td onClick={e => e.stopPropagation()}>{activity.facility.name}</td>
</tr>

activeTab==“活动”
? this.setState({activity,completeModal:true})
:this.setState({activity,showmodel:true})
}
>
{时刻(activity.date).format(“MM/DD/YY h:MM a”)}
{activity.manifestNumber}
{" "}
磅
e、 stopPropagation()}>{activity.facility.name}

你在最后一次
td
上尝试过
onClick={e=>e.stopPropagation()}
吗?@AnuragSrivastava你成功了。它工作!!!我试过这个。我在
event.target.id中得到了
未定义的
很有趣,我刚刚在沙箱中测试了它,得到了
id
你能告诉我链接是什么吗