我有一個表格,第一列有複選框。當我點擊該行的任何地方時,表格行上會設置一個'row_selected'類,並且複選框被選中。代碼如下:從表格行的子元素中刪除jquery點擊事件處理程序
$('#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點擊事件工作除了當我點擊myButton。
有人有什麼想法嗎?
添加了另一種解決方案,您不應該使用stopPropagation,因爲他正在使用.live,因爲它在此處顯示:http://api.jquery.com/event.stopPropagation/ – 2012-04-20 16:52:04
在您的示例中沒有點擊的作品。 – 2012-04-20 16:58:01
@GuilhermeDaviddaCosta - 當然可以。幾次點擊第一次,然後觀察複選框切換。 – j08691 2012-04-20 16:58:44