我给一个表格的每行添加一个事件,实现点击行复选框选中,现在的问题是,我如果不点击行而是点击行里复选框,那就有问题了, 求解决,后来我改成给每列添加事件,但是我如何把复选框那列排除掉呢,
复选框在每行的第一列里

解决方案 »

  1.   

        <div id="tt">
            <input type="text" id="yes">有阻止 <br/>
            <input type="text" id="no">没阻止
        </div>
    <script type="text/javascript">
            document.getElementById("tt").onclick=function(){
                alert("div也点击了!");
            };
            document.getElementById("yes").onclick=function(e){
                alert("我不冒泡的!");
                if(window.event){
                    event.cancelBubble = true;
                }else{
                    e.stopPropagation();
                }
            };
            document.getElementById("no").onclick=function(){
                alert("我是冒泡的!");
            };
    </script>
      

  2.   

    <!DOCTYPE HTML>
    <html>
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    </head>
    <body><table id="list" border="1">
    <tr>
    <td>#</td>
    <td>col1</td>
    <td>col2</td>
    </tr>
    <tr>
    <td><input type="checkbox" name="item" value="001" /></td>
    <td>aaa</td>
    <td>bbb</td>
    </tr>
    <tr>
    <td><input type="checkbox" name="item" value="002" /></td>
    <td>ccc</td>
    <td>ddd</td>
    </tr>
    </table><script>
    $(document).ready(function(){
    $("#list input[type='checkbox']").click(function(event){
    event.stopPropagation();
    });
    $("#list tr").click(function(){
    $(this).find("td:first > input[type='checkbox']").attr("checked", true);
    });
    });
    </script></body>
    </html>