用事件委派给js动态生成的html 绑定事件

function get_category(){
	$.get('/home/home/get_category',function(data){
	    if (data) {
	        var category = $.parseJSON(data);
	        fillCategory(category);
	    }
	});
}
      
function fillCategory(data){
	var str = '';
	$.each(data,function(key,val){
	   str += '<li><a href="#" data-id="'+val.id+'">'+val.cate_name+'</a></li>';
	   str += '<li role="separator" class="divider"></li>';
	});
	$('#category_ul').html(str);
}




//问题:动态生成的html绑不了事件 即不能用 $('#category_ul a').click()来绑事件处理

//事件委派:给父元素绑事件,在代码块里判断是哪个元素的事件,然后做相应的处理,可以简化代码,也可以用在上述问题上。

//jq提供简单的事件委派写法
 $('#category_ul').delegate('a','click',function(){
      alert($(this).attr('href'));
 });




你可能感兴趣的:(用事件委派给js动态生成的html 绑定事件)