我在执行操作的表行上有一个单击事件。但是,当我单击同一行上的按钮时,我想阻止 on-row-click 事件并简单地执行按钮的操作,但我不知道如何实现这一点。
我创建了一个 --> fiddle <-- 来证明这一点。只需单击表格行,您就会看到一个按钮出现。然后点击按钮。您将看到在单击按钮时再次执行了行单击事件。我该如何防止这种情况?
<table id="tab_open_deals" class="table table-condensed table-striped cb_table-hover">
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
</thead>
<tbody id="search_result">
<tr>
<td><a class="btn my_btn hidden2" href="#">Button</a></td>
<td>39.90</td>
<td>29 Dec 2012</td>
</tr>
<tr>
<td><a class="btn my_btn hidden2" href="#">Button</a></td>
<td>1499.00</td>
<td>8 Jan 2013</td>
</tr>
</tbody>
</table>
CSS:
.hidden2{
display: none;
}
jQuery:
$(document).ready(function() {
$('#tab_open_deals tbody tr').off('click').on('click', function() {
var row = $('<tr/>');
row.load('/echo/html/', {
html: '<td class="override" colspan="4"><table class="table-striped sub_table-hover"><thead><tr><th>Sub1</th><th>Sub2</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></tbody></table></td>'
});
row.insertAfter($(this));
$(this).find(".my_btn").off('click').on('click', function(){ alert("clicked") })
$(this).find(".my_btn").show();
});
});