2012-07-26 125 views
1

在我的網站我元素添加到DOM這樣jQuery的編輯就地動態內容

$('#header').load('header.html #template'); 

所以我外部HTML文件的內容加載到DOM。然後我打電話

$('.edit').editInPlace({ 
    callback: function(){ 
     alert("test"); 
    } 
}); 

加載的內容包含一個h2 with edit css類。

但是根本沒有反應。我嘗試了許多就地編輯插件。所有我有同樣的問題。任何想法爲什麼?我該如何解決這個問題?

+0

你有'jquery.editinplace.js'導入嗎? – AbstractChaos 2012-07-26 09:05:58

+0

使用'console.log('test');'來代替並監視瀏覽器控制檯狀態。警報可能會破壞插件。如果你可以設置一個測試頁面,這將有助於很多。 – arttronics 2012-07-26 09:12:22

+0

當然它是重要的。 console.log不記錄任何東西 – 2012-07-26 09:16:00

回答

1

由於jquery.load()方法是異步的,因此儘管您在運行load方法後調用editInPlace,但內容仍然不存在。你應該使用回調:

$('#header').load('header.html #template',function(){ 
    $('.edit').editInPlace({ 
     callback: function(){ 
     alert("test"); 
     } 
    }); 
}); 
+0

是的,它只是錯字;)。 – 2012-07-26 09:25:09

+0

更新了我的回答 – Tomer 2012-07-26 09:28:26

+0

非常感謝:)) – 2012-07-26 09:30:19