1. ホーム
  2. javascript

[解決済み] テキストエリアをACEエディタにするには?

2023-01-14 17:09:16

質問

ページ上の特定のテキストエリアをACEエディタに変換できるようにしたいのですが、可能でしょうか?

誰かポインタを持っていますか?

EDITです。

editor.htmlファイルは1つのtextareaで動作していますが、2つ目を追加した途端に2つ目がエディタに変換されません。

EDIT 2です。

私は、いくつも持つという考えを捨て、代わりに新しいウィンドウで1つを開くことにしました。私の新しい苦境は、私がtextareaをhide()およびshow()するとき、表示がおかしくなることです。何かアイデアはありますか?

どのように解決するのですか?

Aceの考え方を理解する限りでは、(1)のように テキストエリア をエースエディタ自体にするべきではありません。追加divを作成し、textareaの更新は .getSession() 関数を使用してください。

html

<textarea name="description"/>
<div id="description"/>

js

var editor = ace.edit("description");
var textarea = $('textarea[name="description"]').hide();
editor.getSession().setValue(textarea.val());
editor.getSession().on('change', function(){
  textarea.val(editor.getSession().getValue());
});

を呼び出すか

textarea.val(editor.getSession().getValue());

は、指定されたテキストエリアを使ってフォームを送信したときだけ表示されます。これがAceの正しい使い方かどうかは分かりませんが、この使い方は GitHub .