首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >防止在单击行内的按钮时触发表行onclick事件

防止在单击行内的按钮时触发表行onclick事件
EN

Stack Overflow用户
提问于 2011-06-27 18:40:42
回答 4查看 21.9K关注 0票数 30

我有一个带有ONCLICK事件的表行(它切换下面的附加数据)。在其中一个行单元格中,我有一个按钮(单击时执行AJAX操作)。当我单击按钮时,Row的onclick事件也会触发,发生的情况是额外的数据在AJAX调用完成之前出现(这对我来说是不好的行为)。你有什么想法,我怎么才能优雅地解决这个问题呢?(不需要识别并编码到行的onclick代码中),谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-27 18:49:40

向按钮click处理程序添加一个event.stopPropagation();。有关更多信息,请查看here

票数 58
EN

Stack Overflow用户

发布于 2017-09-24 13:00:49

如果您不喜欢javascript解决方案,在许多情况下也可以使用CSS解决方案:

代码语言:javascript
复制
style="pointer-events: none;"

这将抑制<tr> onclick事件。

然而,在某些情况下,我仍然有问题,它似乎不工作。在大多数情况下,我只是使用上面的样式。

票数 3
EN

Stack Overflow用户

发布于 2020-09-05 04:51:47

如果你使用jQuery,你可以这样做:

代码语言:javascript
复制
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
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6491627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档