使用$ .click()动态插入的DOM元素不可点击
我正在使用jQuery获取表单元素的值并将其放在列表项标记中。 最多有三个列表项(这些列表项将成为图像的标记)。
问题是我希望人们能够通过点击它们来删除他们输入的任何错误标签,但是这些项目(使用jQuery动态插入到
- 标签中)不能使用以下方法点击:
$('li.tag').click(function(){ /* Do stuff here */ });
它甚至不会发出警报。
有没有人有任何想法如何解决这个问题?
我想你正在寻找实时方法: http : //api.jquery.com/live/
也许你可以做点什么
$('li.tag').live('click', function() { /* Do stuff here */ });
使用live或liveQuery
插件。
正如@vmassuchetto所提到的,因为jQuery 1.7 .live()已经在1.9中被完全弃用和删除了。 现在你应该使用.on()。 像这样:
$('li').on('click', '.tag', function() { ... });
“委托事件的优势在于它们可以处理来自稍后添加到文档的后代元素的事件。通过选择在附加委托事件处理程序时保证存在的元素,您可以使用委派事件避免频繁附加和删除事件处理程序的需要。“