单击区域时如何从handleClick事件中排除复选框?

时间:2019-01-15 17:57:50

标签: javascript reactjs

如果用户单击复选框,我不希望触发handleClick。

是否可以排除它或忽略点击?

<div ...  onClick={this.handleClick}>
  <div>
    some content here
  </div>
  <div>
    <input type="checkbox" name="vehicle1" value="Bike"> I have a bike
  </div>
</div>

我的点击功能是:

 handleCardClick = (e) => {
    e.preventDefault();
 }

如果需要,我可以在复选框上放一些课程。

2 个答案:

答案 0 :(得分:0)

You can use e.stopPropagation() inside function that called on onClick event.

答案 1 :(得分:0)

您可以使用srcElement对象排除复选框的单击:

首先在复选框上应用课程:

<div (click)="onClick($event)">
    <input type="checkbox" class="no-click" />
</div>
onClick(event) {
   if(event.srcElement.classList.contains("no-click")) {
     return false; // don't execute the function more if element has no-click class
   }
}

// Your other logic

以上逻辑基于角度4。