첫 번째 열에 확인란이있는 표가 있습니다. 행의 아무 곳이나 클릭하면 '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>
myButton을 클릭 할 때를 제외하고 jquery 클릭 이벤트가 작동되기를 원합니다.
아무도 아이디어가 없습니까?
stopPropagation을 사용해서는 안되며, 여기에 말한대로 .live를 사용하고 있기 때문에 사용하면 안됩니다 : http://api.jquery.com/event.stopPropagation/ –
예제에서 아무런 클릭이 작용하지 않습니다. –
@GuilhermeDaviddaCosta - 확실합니다. 처음 몇 번 클릭하고 체크 박스 토글을보십시오. – j08691