今儿为了让表格能被编辑,写了段JS。思路是这样,表格的每行都有一个 img 是编辑的图片,JQuery处理这个img的click事件,click的时候在 img前面插入 两个按钮,<input type="button" val="确定"><input type="button" val="取消">。然后给 取消 这个按钮绑定了click事件,触发这个事件的时候,清除 这两个 input。杯具的事情来了,我再点击 img的时候, 什么反应都没了。开始以为找不到这个 img 对象了,就在 $(funtion(){   })里面写了个 $('img').click(function(){alert("124214");});做测试用,后来发现,只要没点击 取消 按钮, 点击  img 的时候都是有响应的。一旦按了  取消 按钮,就什么响应都没了~~各位给讲讲哪里错了?额~~我的清除 两个 input的方法是   先获得 input对象的 parent()对象,也就是tdObj,然后 td.html("");将td里面所有的内容清空。当然,在这之前,也讲 img对象赋值给 tempImgObj对象。然后在  tdObj.append(tempImgObj);这样 img就又出来了。
可是怎么点也没用了请高手指点。

解决方案 »

  1.   

    当你把IMG对象赋给tempImgObj再tdObj.append(tempImgObj);时,事件并不会跟着对象走。
    在 tdObj.append(tempImgObj);之后,你还需要再绑定点击事件。
    这个误解太大了。不赶紧纠正,就完了。
      

  2.   

    ++
       如果想要效果还得把对象和事件都绑定回去,tdobj.html("<img src='1.jpg' onclick='shijian()'>")或者
    tdobj.append("<img src='1.jpg' onclick='shijian()'>")
      

  3.   

    上面说的都对,
    或者
    在img上绑定事件的时候用live;
    或者 不用 td.html("") 这种,点取消的时候td.remove 掉确定和取消  按钮
      

  4.   

    $("<img src='1.jpg'>").before($(this)).click(function(e){
    //what you want to...
    $(this).siblings().remove();
    });
    这样不是更好
      

  5.   

    控件先放好,开始隐藏好,然后用show()跟hide()去控制显示或隐藏
      

  6.   

    谢谢各位了·~受教了·~在下不才~学JQuery才两小时。。很多概念都不懂~~~