nicEditを使用して、リッチテキスト編集をテキストエリアに追加しています。私はCodeigniter MVCフレームワークとjQueryを使って新しいAJAX呼び出しを作成して新しいテキストエリアを作成し、AJAX呼び出しから返された後にこの新しいテキストエリアにnicEditを適用します。jQuery AJAXリクエストから返されたときのnicEditの動作
:送信ボタンのクリックイベントから呼び出され、テスト/ Ajaxのコントローラは、次のように新しいテキストエリアを返す関数である<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>
:予想と期待通りnicEditは、次のコードを使用してインスタンス化されるとすべてが動作します
function ajax()
{
echo "<textarea id='newArea'></textarea>";
}
私の主なアプリケーションでは、私は概念的には上記と同じことをやっています。つまり、AJAX呼び出しから新しいテキスト領域を返し、次にこの新しい領域をAJAX success関数でインスタンス化します。私が抱えている問題は、nicEditはAJAX呼び出しからこの新しいテキストエリアにフックしますが、nicEditアイコンは表示されないということです。フォントフォーマット、フォントファミリ、フォントサイズの属性は表示され、機能しますが、その他のアイコン(太字、斜体、下線など)は表示されません。
提案をいただきありがとうございます。
これは間違いありません。私がしなければならなかったのは、iconsPathに場所を渡すことだけでした。奇妙なことに、私はプロトタイプでそれをする必要はありませんでしたが、教訓は学びました!再度、感謝します!\t新しいnicEditor({fullPanel:true、iconsPath:baseurl + 'assets/images/nicEditorIcons.gif'、maxHeight:200})。panelInstance( 'newArea'); – Gunnar