猿问

js事件冒泡问题 大侠帮忙看下吧

html:

<table>
    <tr>
       <th>姓名</th>
        <th>复选</th>
    </tr>
    <tr>
        <td>张三</td>
        <td> <input class="cckList_sp" name="items" type="checkbox" /></td>
    </tr>
    <tr>
        <td>李四</td>
        <td> <input class="cckList_sp" name="items" type="checkbox" /></td>
    </tr>
    <tr>
        <td>王五</td>
        <td> <input class="cckList_sp" name="items" type="checkbox" /></td>
    </tr>
    <tr>
        <td>赵六</td>
        <td> <input class="cckList_sp" name="items" type="checkbox" /></td>
    </tr>
</table>

js:

<script type="text/javascript">
    $(function () {
        $("table tr td ").click(function () {
            if ($(this).children("[name=items]:checkbox").length > 0) {
                return false;
            }
            alert("你点击的是td 复选框不会触发!");
        });

        $("[name=items]:checkbox").click(function () {
            $(this).attr("checked", this.checked);
            if ($(this).siblings().length > 0) {
                return false;
            }
            alert("我是复选框弹出窗口!");
        });
    });
</script>

问题:点击table tr td 是不会触发checkbox的 利用return false  这个效果达到了

但是我在点击checkbox 事件也触发了但是没有把钩复选上 请问我点击checkbox怎么让复选框选中  这段代码好像没有起作用if ($(this).siblings().length > 0) { return false; }

注:肯定有朋友会说 分别给td 和checkbox加上不同的class 操作就可以了 事实上我想利用事件的来解决这个问题 谢谢!

明月笑刀无情
浏览 282回答 1
1回答
随时随地看视频慕课网APP
我要回答