我希望能够将页面上的特定文本区域转换为 ACE 编辑器。
有没有人有任何指点?
编辑:
我的 editor.html 文件与一个文本区域一起工作,但是一旦我添加第二个,第二个就不会转换为编辑器。
编辑 2:
我决定放弃拥有多个的想法,而是在新窗口中打开一个。我的新困境是,当我 hide() 和 show() 文本区域时,显示会出错。有什么想法吗?
最佳答案
就我对 Ace 的理解而言,您不应该让 textarea 成为 Ace 编辑器本身。您应该使用 .getSession() 函数创建一个额外的 div 并更新文本区域。
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 上是这样使用的。
关于javascript - 如何使文本区域成为 ACE 编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6440439/