很多时候,需要为动态生成的元素绑定事件,如果每生成一次就用循环全部遍历绑定这种做法是很傻的,其实方法很多:
方法一:利用live()
$('i').live('click',function(){ $(this).parent().remove(); });
方法二:生成的同时单个绑定
li.find('i').click(function(e){ li.remove(); });
方法三:
$('i').each(function(index,ele){ $(this).unbind("click"); $(this).click(function(){ $(ele).parent().remove(); }); });
个人觉得使用.live()方法较方便,尤其是页面原有的目标元素也一同绑定事件,不用再使用.trigger()为原有元素进行绑定