2012-07-19 92 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