You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML表格<tr>绑定跳转事件后如何阻止指定<td>触发父元素跳转

问题解决方法

这个问题的核心是DOM的事件冒泡机制:子元素触发的点击事件会默认向上层DOM节点传递,因此点击<td>时也会触发父元素<tr>绑定的点击跳转逻辑。你可以通过以下两种方案实现需求:

方案1:在特殊的点击事件中阻止冒泡

在该<td>的展开逻辑处理函数的最开头添加阻止冒泡的代码即可,如果你是行内绑定事件,修改<td>代码如下:

<td id="dtr-control" onclick="event.stopPropagation(); /* 此处保留你原本的展开功能代码 */"></td>

如果你是通过JS单独绑定事件,在事件处理函数内首行添加:

// 你的td展开事件处理函数
function expandControl(e) {
  e.stopPropagation()
  // 原有展开逻辑不变
}

方案2:在的跳转逻辑中判断触发源

如果<td>的展开逻辑是第三方组件自动生成、你不方便直接修改的话,可以直接调整<tr>的点击逻辑,只有点击源不是该特殊<td>时才执行跳转:
修改<tr>的onclick代码如下:

<tr type="button" onclick="if(event.target.id !== 'dtr-control') window.location.href = '/xxx/bbb/001';">

内容的提问来源于stack exchange,提问作者Gokul Kannan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:03:00