jquery - 从表行的子元素中删除 jquery click 事件处理程序

标签 jquery html click

我有一张表,第一列有一个复选框。当我单击该行的任意位置时,会在表格行上设置一个类“row_selected”并选中该复选框。代码如下:

$('#my_table > tbody > tr > td').live('click', function() {
    if ($(this).parent().hasClass('row_selected')) {
        $(this).parent().removeClass('row_selected')
        $('td.checkbox input', this.parentNode).prop("checked", false)
    } else {
        $(this).parent().addClass('row_selected')
        $('td.checkbox input', this.parentNode).prop("checked", true)
    }
})

问题是一些表格单元格有按钮,如果单击这些按钮,我不希望该行被选中。即

<tr>
    <td class="checkbox">
        <input type="checkbox" checked="false"/>
    </td>
    <td>blah<td>
    <td>
        <a class="myButton">do stuff</a>
    </td>
    <td>blah<td>
</tr>

我希望 jquery click 事件在我单击 myButton 时除外。

有人有什么想法吗?

最佳答案

您不能停止对 myButton 类元素的传播吗?

$('a.myButton').click(function(e) {
    e.stopPropagation();
});​

这是一个简化的 jsFiddle example 使用您的代码来展示 td 点击触发器的工作原理,但单击链接时除外。

关于jquery - 从表行的子元素中删除 jquery click 事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249981/

相关文章:

jquery - 触发 anchor 链接的点击

jquery错误: a function is not a function?

javascript - Meteor 订阅事件/渲染

javascript - HTML5 视频 - 在其上方覆盖一个 div

html - css中的形状渐变

jquery 关闭外部和内部点击的叠加?

javascript - 使用 JQuery 计算粘性标题的高度

javascript - 如何在用户滚动到页面底部时启动 jQuery 事件?

HTML/CSS 两个看似相等的元素,位置不同

javascript - 使用 JQuery 条件模拟点击切换