如何处理动态填充ul li的click事件?

时间:2010-10-28 15:54:48

标签: jquery jquery-ui

我正在使用授权系统。我有四个无序列表。我们将它们命名为list1,list2,list3和list4。其中两个是关于国家的,另外两个是关于城市的。 list1包含所有国家/地区。 list2包含一名员工的所有可用国家/地区。用户正在将一个国家/地区从list1移动到list2。当用户点击list2时,我可以处理该事件,并且我使用jquery将此国家/地区的城市填充到list3。该城市列表来自aspx网页。我想处理list4的click事件。 list4包含员工的所有可用城市。我写了这些文字。

$('#clist2 li').click(function() {
    alert('test');
});

但我没有看到警报。如何处理list4的click事件?

2 个答案:

答案 0 :(得分:5)

您可以在此处使用.delegate(),如下所示:

$('#clist2').delegate('li', 'click', function() {
    alert('test');
});

$('#clist2 li')获取当时<li> 中的所有#clist2元素,而不是直接将处理程序绑定到#clist2来自任何click元素的<li>个事件(现在或以后添加,其事件以同样的方式冒泡)到bubble up

答案 1 :(得分:1)

您可以使用.live()让所有li获得点击事件,无论它们是否存在于绑定时(例如,选择器必须匹配)。