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里面处理冒泡