【发布时间】:2017-05-13 15:05:14
【问题描述】:
如何允许 TR 元素上的 onClick 事件但阻止复选框中的事件? 复选框是表中 TR 的 TD 的子级。
我在这个问题中所做的是在所有 TD 上添加 onClick,但不在复选框的 TD 中。
有没有更好的方法来解决这个问题?
<tr key={item._id} id={item._id} className={(item.status == "unread")? "unread":""}>
<td className="inbox-small-cells">
<input type="checkbox" className="mail-checkbox" />
</td>
<td className="view-message dont-show" onClick={this.viewMsg.bind(this,item.sender)}>{item.sender} {(item.category.length > 0)?
<span className="label label-info pull-right">{item.category}</span>:""}</td>
<td className="view-message " onClick={this.viewMsg.bind(this,item.sender)}>{item.subject.trunc(40)}</td>
<td className="view-message inbox-small-cells" onClick={this.viewMsg.bind(this,item.sender)}>{(item.attachments.length > 0) ? <i className="fa fa-paperclip"></i> : ""}</td>
<td className="view-message text-right" onClick={this.viewMsg.bind(this,item.sender)}>{item.createdAt}</td>
</tr>
【问题讨论】:
-
你的代码在哪里?请附上代码
-
请输入小代码sn-p..
-
如果你在调用 js 函数 onClick 你可以考虑在点击复选框时删除这个函数
-
如果不能禁止传播,可以查看nodeName:
event.target.nodeName === 'TR' -
className="这是来自什么类型的属性?
标签: javascript jquery html checkbox jsx