NEWVFP 2011-12-31 18:04
浏览 353
已采纳

动态增加的标签事件不执行。

[code="java"]
$(document).ready(function() {

  $(".cmdModif").click(function(){


     lcVal=$(this).parent().parent().children(".amount").children(".textCell").html();

     //得到input元素的name属性值

     lcName=$(this).parent().parent().children(".amount").children("input").attr("name");

    // alert(lcName);

    //拼接文本框元素

     lcInput="<input type='text'  class='textCell' value="+lcVal+" name='"+lcName+"'/>"

    // alert(lcInput);

    //把“数量”单元格替换 成文本框

     $(this).parent().parent().children(".amount").html(lcInput);
     lcHtmlSave="<a class='cmdSave' href='#'>保存</a>"

     $(this).parent().html(lcHtmlSave));

    }

  )

   // "保存"链接 click事件
     $(".cmdSave").click(function(){
     alert("save click");
   }
  )

});

[/code]

如上,我通过jQuery动态新增了一个标签: lcHtmlSave="保存"
这个标签是新增成功的,可是为什么通jquery不能执行这个标签的click事件代码呢?
// "保存"链接 click事件
$(".cmdSave").click(function(){
alert("save click");
}
)

  • 写回答

6条回答 默认 最新

  • housen1987 2012-01-01 22:21
    关注

    jQuery是很强大的,即使实现没有这个元素,一样可以后来注册事件,建议查一下live绑定事件的API,修改的例子如下:

    [code="java"]
    $(document).ready(function() {
    $(".cmdModif").click(function(){
    $(this).parent().append("保存");
    })
    // "保存"链接 click事件
    $(".cmdSave").live('click',function(){
    alert('save click')
    });
    });
    [/code]

    .cmdSave对象开始不存在,但是使用live事件追加注册一下,就可以有事件了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn