日期:2014-05-16  浏览次数:20350 次

jquery中绑定click事件checkbox就没有用的问题
$('tbody tr').click(function() {
  if($(this).find(":checkbox").attr("checked")==false){
$(this).find(":checkbox").attr("checked",true);
  }else{
$(this).find(":checkbox").attr("checked",false);
  }
主要代码就是这样的,要实现的功能是点击tr,当前行的checkbox也被选中
问题是:

我已经把tr绑定了click事件,因为checkbox也在tr之间,所以我在单击tr的时候checkBox会被选中。可是当我点击checkbox的时候,会没有效果。

看到过以前的帖子,也没有解决办法。
http://topic.csdn.net/u/20070906/17/15b3b3f9-2fb6-457e-befc-8badd716deb3.html

我尝试了很多方法都没有用。现在想的是,当点击的时候判断点击对象,如果是checkbox的话就return false.可是这个传入的应该是tr吧。。。

各位有解决方法吗?急用啊,谢谢了

------解决方案--------------------
你简单写一个点击checkBox 的事件做下测试。。我觉得应该是它的事件被覆盖了。。
------解决方案--------------------
你这个原因是由于事件冒泡

你要阻止 checkbox的时间冒泡就是
给checkbox 的click事件中添加下面的代码
event.stopPropagation();
------解决方案--------------------
我怀疑是checkbox的事件被覆盖了。。你可以做下简单的测试。。随便alert一个值。。看看点击checkbox有没有效果。。
------解决方案--------------------
你试一下阻止事件冒泡,我记得我很久以前用过一次
------解决方案--------------------
探讨

引用:
我怀疑是checkbox的事件被覆盖了。。你可以做下简单的测试。。随便alert一个值。。看看点击checkbox有没有效果。。


没有被覆盖,假如当前没有选中,在第一句写个alert("1");执行alert1的时候变为选中的。继续执行就又没选中了