2011-11-01 74 views
0

我试图创建一个Facebook风格的新闻源。使用jquery,我设法设置它,以便用户可以添加新的newsitems,然后在不刷新页面的情况下删除它们。删除功能对我已直接添加到HTML中的新闻项目工作正常,但我无法删除使用文本字段动态创建的项目。删除动态预加divs

这是一个相当复杂的问题,所以我重新它jFiddle:http://jsfiddle.net/Gefgj/

回答

2

,使之成为动态添加的项工作,改变这一行:

$('.delete_news_item').click(function(){ 

这样:

$('.delete_news_item').live('click', function(){ 

或者如果您使用jQuery 1.7,则可以使用新的`.on()'方法。

你可以看到它在这里工作:http://jsfiddle.net/jfriend00/tbaAU/

.live('click', ...)将挂钩到新创建的项目,以及预先存在的项目。 .click(...)只会连接到您运行该代码行时存在的项目。有关更多信息,请参阅jQuery doc for .live()或查看.on的jQuery文档。

+1

作为'.live()'文档说_As of jQuery 1.7,.live()方法已弃用._,所以OP应该在使用该函数之前阅读文档的页面。 – Xaerxess

+0

有没有折旧的不同方法? .live()似乎工作正常,但我不想遇到问题。 – Thomas

+1

我相信在jQuery 1.7中有'.bind()','.live()'和'.delegate()'的新统一。正如我使用和熟悉1.6,'.live()'是在1.6中执行此操作的首选方式,并且仍然支持1.7。如果想要去那条路线,我已经为我的答案添加了'.on()'方法的信息。由于我还没有1.7的经验,我还没有使用'.on()'还不知道是否推荐它。 – jfriend00