使用event对象,应该可以解决这个问题
在javascript中事件模型有一种就是冒泡方式
你可以试试

解决方案 »

  1.   

    当然不能实现这个功能了。
    这个函数本身就有问题,你传入对象obj,找孩子节点,实现的checkbox状态的变更。
    但是这个函数只适合单击TD,不适合单击checkbox。方法1:从新写这个函数。方法2:再新写一个函数。
      

  2.   


    <script type="text/javascript">
    function trOclick(obj){
     var a=obj
    if(obj.type=="checkbox"){
    a=obj
    }
    if(obj.children[0].type=="checkbox"){
    a=obj.children[0]
    }
      if(a.checked==true){
            a.checked=false;
      }else{
           a.checked=true;
      }

    </script> 
    要么你的checkbox的click事件别和tr的
    调同一个函数,再写一个
      

  3.   

    方法1:function trOclick(obj,flag){ 
    if(flag==0)
    {
      if(obj.children[0].checked==true){ 
            obj.children[0].checked=false; 
      }else{ 
            obj.children[0].checked=true; 
      } 
    }
    if(flag==1)
    {
     if(obj.checked==true){ 
            obj.checked=false; 
      }else{ 
            obj.checked=true; 
      } 
    }
    } 调用这个函数的时候, 如果是单击TD,flag为0,单击checkbox flag为1。怎么调用函数不用我说了吧?
      

  4.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <script>
      function Fun(oTd){
      var oChk = oTd.previousSibling.childNodes[0].checked;
      oTd.previousSibling.childNodes[0].checked= !oChk;
    }  </script>
     </HEAD> <BODY>
      <TABLE border='1' width='50%'>
      <TR>
    <TD><INPUT TYPE="checkbox" NAME="aa" ></TD>
    <TD onclick="Fun(this)">bb</TD>  </TR>
      <TR>
    <TD><INPUT TYPE="checkbox" NAME="bb"></TD>
    <TD onclick="Fun(this)">ee</TD>
      </TR>
      </TABLE>
     </BODY>
    </HTML>
      

  5.   

    function trOclick(obj){ 
        obj.children[0].checked=obj.children[0].checked ? false : true; 

    效果和直接点击checkbox一样了,不知道这样可能适合楼主
      

  6.   

    刚帮你写了一个测试OK
    <html>    <script type="text/javascript">
          
        function setFocus()
        {      
          var obj = document.getElementById('chk');
          if(event.srcElement != obj)
          {
            if(obj.checked)
            obj.checked = false;
          else
            obj.checked = true; 
          }      
        }
        
        </script>
    </head>
    <body>
        <form>
         <table border="1" cellpadding="0" cellspacing="0" width="100%">
           <tr>
            <td width="100" onclick="setFocus()"><input type="checkbox" id="chk" />复选框</td>
           </tr>
         </table>
        </form>
    </body>
    </html>
      

  7.   


        function trOclick(obj)
        {
          if(obj==event.srcElement)
          { 
              if(obj.children[0].checked==true)
              { 
                    obj.children[0].checked=false; 
              }
              else
              { 
                    obj.children[0].checked=true; 
              } 
          }
        }