Can I exclude a button click inside a TR click event?
我当前正在突出显示选中的表格行,但在其中一个单元格中有一个按钮。当我单击按钮时,触发表行单击事件。能把这两个分开吗?
我的两个电话目前如下:
1 2 3 4 5 6 7 8 9 | $('table.table-striped tbody tr').on('click', function () { $(this).find('td').toggleClass('row_highlight_css'); }); $(".email-user").click(function(e) { e.preventDefault(); alert("Button Clicked"); }); |
我的HTML如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <table class="table table-bordered table-condensed table-striped"> <thead> <tr> <th>col-1</th> <th>col-2</th> </tr> </thead> <tbody> <tr> <td>Some Data</td> <td><button class="btn btn-mini btn-success email-user" id="email_123" type="button">Email User</button></td> </tr> </tbody> </table> |
知道如何阻止按钮单击事件触发行单击事件吗?
您必须使用
1 2 3 4 5 | $(".email-user").click(function(e) { e.preventDefault(); e.stopPropagation(); alert("Button Clicked"); }); |
(另请参见:event.stoppropagation和event.preventdefault有什么区别?)
试试这个:
1 2 3 4 5 6 7 8 | $('.table-striped').find('tr').on('click', function() { $(this).find('td').toggleClass('row_highlight_css'); }); $(".email-user").on('click', function(e) { e.preventDefault(); e.stopPropagation(); });? |
我认为这是由事件冒泡引起的,尝试在