解决js添加一个按钮,让这个按钮也获得初始的事件,绑定到新生成的DOM

WEB程序开发中,对于使用jQuery生成的新元素或新添加的元素,经常需要用jQuery对新建的元素绑定 click事件。由于默认的 click事件是不起作用的,必须给新生成的元素进行click事件绑定。这几天由于项目需要,通过使用jQuery生成新元素,同时给新元素绑定 click事件和change事件,经过项目实践,我总结一下相关知识,通过使用最简单的方法,实现jQuery绑定click事件,供参考。

 

<script src="jquery.min.js" type="text/javascript"></script>

<!--jquery.min.js文件下载http://download.csdn.net/source/3310749-->
<form>
<div id="newElement"></div>
<input type="button" value="生成新元素" id="createElement" />
</form>
<script>

$(document).ready(function(){
  $("#createElement").click(function(){

    //统计当前页面中使有以newButton_开头的元素个数,生成ID
    id = $("[id^='newButton_']").size()+1;
    //生成新元素,追加到ID值为newElement的元素中
    $(box.getButton(id)).appendTo($("#newElement"));

      //绑定click事件,其它change事件类似
      $("#newButton_"+id).click(function(){
        box.getClick();
      });

    });
});

 

//生成一个对象盒子,面向对象思想,封装我们的函数,强烈推荐这种方法
var box = {};


box.getButton = function(id){
return '<input type="button" value="新按钮" id="newButton_'+id+'" /><br />';
//返回任何你需要生成的新元素
}

 

box.getClick = function(){
alert('事件生效啦!你点击了新按钮');
//添加任何你需要的代码
}

</script>

 

 

第一步:生成新元素;
如:$(box.getButton(id)).appendTo($(”#newElement“));

第二步:对需要绑定事件的新元素进行click事件绑定,注意:新元素的ID是唯一的,这样才能正确绑定;
如:$(”#newButton_”+id).click(function(){ box.getClick(); });

第三步:绑定什么click事件,事件的具体代码;
如:box.getClick = function(){ alert(’事件生效啦!你点击了新按钮’); }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值