第一篇博文,进这个大观园,一来希望自己的一些经验可以帮到大家,二来也乐于跟大家交流分享。文中如有谬误,恳请大方之家指正。
昨天动态生成了一系列的<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是一个函数,带两个参数,可以把自己想要添加的属性添加到这里面。
这样,动态加载的元素就可执行注册的方法了。
如果大家有什么更好的解决方法烦请多多交流沟通。