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 操作就可以了 事实上我想利用事件的来解决这个问题 谢谢!
在$("[name=items]:checkbox").click里面处理冒泡