首页新闻找找看学习计划

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

0
悬赏园豆:5 [已解决问题] 解决于 2012-10-29 09:44

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 操作就可以了 事实上我想利用事件的来解决这个问题 谢谢!

s_p的主页 s_p | 菜鸟二级 | 园豆:269
提问于:2012-10-27 10:31
< >
分享
最佳答案
0

$("[name=items]:checkbox").click里面处理冒泡

收获园豆:5
KyrieYang | 初学一级 |园豆:5 | 2012-10-29 09:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册