jQuery:如何将onlick事件添加到动态生成的div中?

jQuery:如何将onlick事件添加到动态生成的div中?,jquery,Jquery,我想向使用以下代码生成的div添加onclick事件: $("<div />").attr("city", $(this).attr("city")) .attr("state", $(this).attr("state")) .html($(this).attr("city") + ',' + $(this).attr("state")) .appendTo($('#cityList')); $(“”).at

我想向使用以下代码生成的div添加onclick事件:

$("<div />").attr("city", $(this).attr("city"))
            .attr("state", $(this).attr("state"))
            .html($(this).attr("city") + ',' + $(this).attr("state"))
            .appendTo($('#cityList'));
$(“”).attr(“城市”,$(this.attr(“城市”))
.attr(“状态”,$(此).attr(“状态”)
.html($(此).attr(“city”)+,“+$(this.attr(“state”))
.appendTo($('cityList'));

我应该在html()中编写onlick事件吗?

为什么不将div的创建和其余代码的链接分开呢。比如说

var elem = $('<div />');
elem.click(function () { 
  // Click handler
});

elem.attr("city", $(this).attr("city"))
    .attr("state", $(this).attr("state"))
    .html($(this).attr("city") + ',' + $(this).attr("state"))
    .appendTo($('#cityList'));
var elem=$('');
元素单击(函数(){
//单击处理程序
});
elem.attr(“城市”,$(this.attr(“城市”))
.attr(“状态”,$(此).attr(“状态”)
.html($(此).attr(“city”)+,“+$(this.attr(“state”))
.appendTo($('cityList'));

我建议您使用.live()函数,它允许您将事件绑定到以后动态添加的元素

您可以单击事件以
#城市列表

$("#cityList").delegate("div","click",function(e){    
//handler code here
});

为什么不在.appendto()之后直接使用.bind()呢?
$('#cityList div').live('click', function(){
    ...do stuff;
});