javascript - 检查点击事件是否由 tr 中的按钮发起

标签 javascript jquery

我有一个包含 5 列的 html 表格。在一栏中我有一个按钮。 当我单击该行时,我使用 jquery 在该行上应用了一个 css(我选择了该行)。但是,当我单击该行上的按钮时,我不想将样式应用于该行。

现在我检查我是否点击了这样的行:

$('#mytable tbody').on('click', 'tr', function (event) {

    //If the click originated by the button don't apply stile
    //...

    //...else apply the style on tr

}

在函数内部,我如何检查点击是否由按钮发起?

最佳答案

您可以使用事件的 target 属性来确定引发冒泡事件的元素。试试这个:

$('#mytable tbody').on('click', 'tr', function (e) {
    if (e.target.nodeName == 'BUTTON') {
        // the button was clicked...
    }
});

或者,您可以在按钮点击时使用 stopPropagation:

$('#mytable tbody').on('click', 'button', function (e) {
    e.stopPropagation();
    // other logic...
});

关于javascript - 检查点击事件是否由 tr 中的按钮发起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33809399/

相关文章:

javascript - AngularJS 缓存一个 REST 请求

jQuery - 将换行符 <br/> 替换为新行\n

javascript - 将输入框绑定(bind)到 Backbone 中另一个 div 的 CSS

javascript - 如何在 Typescript 和 Angular 2 中使用 "@input set"检索数据?

javascript - 为什么 WebForms 不断呈现这个 data- 属性?

表单提交上的 Javascript 警告消息

javascript - 窗口大小调整后如何卸载 jQuery 插件?

jquery - 使用 jquery 更改背景颜色不起作用

javascript - 给一个变量一个唯一的名字javascript/jquery

javascript - 如何将代码从路由传输到组件