jQuery动态生成元素无法绑定事件的解决办法

第一篇博文,进这个大观园,一来希望自己的一些经验可以帮到大家,二来也乐于跟大家交流分享。文中如有谬误,恳请大方之家指正。

昨天动态生成了一系列的<a>,生成后用class选择器选择出来后,发现只有不是动态生成的代码,才可以注册onclick。即

当我用$(".MyClass").click(function(){

  //statements.

});

注册事件后,动态生成的元素并不能执行事件中的方法。

然后到网上查找,说用bind来绑定是不行的。要用live方法。

我一试,发现自己的版本1.11.1不支持此方法,而是用on方法代替了。

接着又试on方法,还是不行。

末了,试了一种方法,发现可以执行。代码如下:

//解锁按钮
var aUnlock=$("<a>").addClass("unlock").attr("href","#").attr("onclick","unlock(event,8888)");
//将<a>添加到li,并添加到列表中。
 $("<li>").addClass("opt").wrapInner(aModify).append(aUnlock).appendTo(ulList);

unlock是一个函数,带两个参数,可以把自己想要添加的属性添加到这里面。

这样,动态加载的元素就可执行注册的方法了。
如果大家有什么更好的解决方法烦请多多交流沟通。

 

转载于:https://www.cnblogs.com/zhaojianrun/p/4091249.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值