我有一个带有ONCLICK事件的表格行(切换下方的额外数据)。在一行单元格内,我有一个按钮(点击时执行AJAX操作)。 当我点击按钮时,行的onclick事件也会触发,导致在AJAX调用完成之前附加的数据出现(这对我来说是不良行为)。 有什么好的解决办法吗?(不需要识别并将其编码到行的onclick代码中) 谢谢
我有一个带有ONCLICK事件的表格行(切换下方的额外数据)。在一行单元格内,我有一个按钮(点击时执行AJAX操作)。 当我点击按钮时,行的onclick事件也会触发,导致在AJAX调用完成之前附加的数据出现(这对我来说是不良行为)。 有什么好的解决办法吗?(不需要识别并将其编码到行的onclick代码中) 谢谢
style="pointer-events: none;"
这将取消 <tr>
的 onclick 事件。
但是,在某些情况下,我仍然遇到了似乎无法解决的问题。 在大多数情况下,我只是使用上面的样式。
tbody.on('click', 'tr', function (e) {
let target = $(e.target);
if (target.is('i') || target.is('button') || target.is('a') || target.hasClass('select-checkbox')) {
return;
}
//your stuff here
});
<table>
<thead>
<tr>
<th>Card_ID</th>
<th>Card_Number</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr style="pointer-events: none;">
<td>3</td>
<td>12345</td>
<td>Active</td>
<td><button style="pointer-events: auto;" type="button" id="Inactive" class="btn btn-sm"></button></td>
</tr>
</tbody>
</table>
TypeScript
:event.stopPropagation();
- Mohammad Zaid PathanstopPropagation
。 - dwjohnston