nicEditを使用して、リッチ テキスト編集をテキストエリアに追加しています。Codeigniter MVC フレームワークと jQuery を使用して単純な AJAX 呼び出しを行い、新しいテキストエリアを作成し、AJAX 呼び出しから返されたら、この新しいテキストエリアに nicEdit を適用しています。すべてが期待どおりに機能し、nicEdit は次のコードを使用して期待どおりにインスタンス化されます。
<html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="<? echo base_url();?>assets/js/nicEdit.js"></script>
<body>
<div id="area1"></div>
<input id="submit" type="submit" value="submit" />
<script>
$(document).ready(function() {
$('#submit').click(function(){
$.ajax
({
type: "POST",
url: "test/ajax",
success: function(html)
{
$('#area1').html(html);
new nicEditor().panelInstance('newArea');
}
});
});
});
</script>
</body>
</html>
送信ボタンのクリック イベントから呼び出される test/ajax コントローラーは、次のように新しいテキストエリアを返す関数です。
function ajax()
{
echo "<textarea id='newArea'></textarea>";
}
私の主なアプリケーションでは、概念的には上記と同じことを行っています。つまり、AJAX 呼び出しから新しいテキストエリアを返し、AJAX 成功関数でこの新しい領域をインスタンス化しています。私が抱えている問題は、nicEdit が AJAX 呼び出しからこの新しいテキストエリアにフックしても、nicEdit アイコンが表示されないことです。フォント形式、フォント ファミリ、およびフォント サイズの属性は表示され、機能しますが、その他のアイコン (太字、斜体、下線など) は表示されません。
提案を歓迎します。