2012-07-19 64 views
0

我正在通過jQuery AJAX加載表單,並且我正在嘗試將wysiwyg編輯器實現爲textarea。在.load後應用wysiwyg編輯器

textarea的加載頁面時,本身是好的,但是當在div #customerForm重新加載(它包含的文本區域)是這樣的:

$("#customerForm").html(loading).load(filename); 
$('#noteArea').wysiwyg(); 

我不能得到它加載。上面的代碼在主頁面中加載了一個單獨的.JS文件,所以我想知道它是否在運行中引用該函數時遇到問題。編輯正在摘自:

https://github.com/akzhan/jwysiwyg

如果任何人有任何更好的jQuery編輯建議我會向他們開放,但是這個人是小而漂亮,我想要的東西。有什麼建議麼?

+0

你有沒有檢查任何錯誤控制檯?除非'loading'是一個變量,否則你會立即得到一個錯誤,因爲它不是一個文本字符串。 – 2012-07-19 10:36:31

+0

加載和文件名都是在JS中早先設置的變量,並且它工作正常,即使在那裏有.wysiwyg行,以及之後的代碼。我會檢查錯誤! – Chud37 2012-07-19 10:39:29

+0

不,沒有控制檯錯誤。 – Chud37 2012-07-19 10:40:22

回答

1

.load()功能異步工作(見source of the function,它採用.ajax()內部和async財產defaults to true)。這意味着在加載內容之前執行以下行。嘗試在回調初始化編輯:

$('#customerForm').load(filename, function() { 
    $('#noteArea').wysiwyg(); 
}); 
+0

謝謝!整理出來。我會在將來記住這一點。謝謝。 – Chud37 2012-07-19 10:42:02

+0

不客氣。 'async'是與'.ajax()'相關的一切錯誤的常見根源。 – Wolfram 2012-07-19 10:45:57