1

我在表格 TR TD 中有一个输入复选框。我捕获对 TR 的单击以执行 stuff_1,但如果我单击复选框,我想执行 stuff_2(而不是 stuff_1):

HTML:

<table>
<TR class="tr">
<TD><INPUT TYPE="CHECKBOX" class="checkbox"></TD>
<TD> Click me 1 to expand</TD>
</TR>

<TR class="tr">
<TD><INPUT TYPE="CHECKBOX" class="checkbox"></TD>
<TD> Click me 2 to expand</TD>
</TR>
</table>

查询:

$(".tr").click(function(){
  //Here I would like to do STUFF_1

});

$(".checkbox").change(function() {
  //Here I would like to do STUFF_2

});

但是每次我单击复选框时,它都会执行 STUFF_1 .... 我该如何解决这个问题?

4

2 回答 2

3

你可以这样做 :

$(".checkbox").click(function(e) {
   e.stopPropagation();
   // do your stuff
});

示范

于 2013-01-03T13:06:49.403 回答
0

尝试以下操作:

$(".tr").click(function(e){
  if(e.target.nodeName == "INPUT") return false;
  // do stuff 1     
});

$(".checkbox").change(function() {
    // do stuff 2    
});
于 2013-01-03T13:12:29.077 回答