2013-04-21 48 views
1

我有UL,我在填充方式如下:的jQuery的点击事件,L1标签内的HREF

$("#dropdownFloorplanGroups").append("<li><a href='#'>" + value.Name + "</a></li>"); 

这正确地显示在我的浏览器

但是我似乎无法开火关闭点击事件,然后提醒我已设置的名称<li></li>

我试过这个,但没有任何事情被激发。

$('li a').click(function (e) { 
       alert($(this).find("a").text());     
      }); 

jquery点击事件应该是什么?

+0

,您将事件绑定在“li是li的后代”上。所以'这个'就是指那个元素,链接本身。你不能使用'find'来查找它中包含的链接,因为它是链接本身。 – kapa 2013-04-21 07:28:33

回答

6

你必须使用事件委派:

$('#dropdownFloorplanGroups').on('click', 'li a', function(e) { 
    alert($(this).text());     
}); 

$('li a')将不考虑新创建的元素。

+0

哇,太快了!谢谢!它的作用就像一个魅力 – 2013-04-21 06:56:07

+0

你的原始代码只将点击事件应用到当代码执行时存在的元素,而这里给出的代码绑定到文档元素(总是可用),并检查是否有任何元素点击文档遵循第二个参数中描述的模式,如果它符合,则触发此函数。 – Aeolun 2013-04-21 06:59:40

+2

@Aeolun:绑定到'document'是'.live()'做的。这个绑定到'#dropdownFloorplanGroups',这个更快。 – Blender 2013-04-21 07:03:55