+ -
当前位置:首页 → 问答吧 → 事件绑定问题 添加/删除/插入 求解决!~

事件绑定问题 添加/删除/插入 求解决!~

时间:2009-09-10

来源:互联网

默认存在的可以remove() 但是通过jq添加的就无法remove()了  通过firebug查看确实生成的 郁闷了。。。


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title> jquery </title>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#add").click(function(){
    $('#div').append('<div class="inner"><input type="text" class="aa" value="/upload/1.jpg" /><input type="button" class="Insert" value="插入到Textarea" /><input type="button" class="rm" value="删除图片" /></div>')
  });
  
  $(".rm").click(function(){$(this).parent().remove();})
  
  $(".Insert").click(function(){$("#ta").prepend($(this).parent().find(".aa").val());})
});
</script>
</head>
<body>
<form action="test.php" method="post">
  <textarea id="ta" cols=50 rows=10>ABCD</textarea>

  <input type="button" id="add" name="add" value="添加图片" /><br />

  <div id="div"></div>
</form>
</body>
</html>
[ 此帖被tonytbl在2009-09-10 15:20重新编辑 ]

作者: tonytbl   发布时间: 2009-09-10

你在添加的时候没有绑定click事件嘛

DOM加载完后会执行一次

$(".li").bind("click",function(){
      $(this).remove();
})

但你添加li时并不执行此代码

作者: jamix   发布时间: 2009-09-10

请帮我改下代码吧 谢谢

作者: tonytbl   发布时间: 2009-09-10

多看文档


要用到live绑定事件

$(document).ready(function(){
  $("#add").bind("click",function(){
    $('#div').append('<div class="inner"><input type="text" class="aa" value="/upload/1.jpg" /><input type="button" class="Insert" value="插入到Textarea" /><input type="button" class="rm" value="删除图片" /></div>')
  });
  
  $(".rm").live("click",function(){$(this).parent().remove();});
  
  $(".Insert").live("click",function(){$("#ta").prepend($(this).parent().find(".aa").val());});
});

作者: fhuoyun   发布时间: 2009-09-10

相关阅读 更多