2011-11-01 51 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