使用$ .click()无法单击动态插入的DOM元素

时间:2010-03-09 21:26:12

标签: jquery html css dynamic

我正在使用jQuery获取表单元素的值并将其放在列表项标记中。最多有三个列表项(这些列表项将成为图像的标记)。

问题是我希望人们能够通过点击它们来删除他们输入的任何错误标签,但是这些项目(使用jQuery动态插入到< ul>标签中)不能使用以下方式点击:

$('li.tag').click(function(){ /* Do stuff here */ });

它甚至不会发出警报。

有没有人有任何想法如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

我认为你正在寻找实时方法: http://api.jquery.com/live/

也许你可以做类似

的事情
$('li.tag').live('click', function() { /* Do stuff here */ });

答案 1 :(得分:1)

使用liveliveQuery插件。

答案 2 :(得分:0)

正如@vmassuchetto所提到的,因为jQuery 1.7 .live()已被弃用&在1.9中完全删除。现在你应该使用.on()。像这样:

$('li').on('click', '.tag', function() {
    ...
});
  

http://api.jquery.com/on/

     

“委托事件的优势在于它们可以处理来自的事件   稍后添加到文档中的后代元素。通过   选择一个保证在当时存在的元素   委托事件处理程序附加,您可以使用委托事件   避免频繁附加和删除事件处理程序。“