javascript - 如何使文本区域成为 ACE 编辑器?

标签 javascript textarea ace-editor

我希望能够将页面上的特定文本区域转换为 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/

相关文章:

javascript - RadioGroup 内的 Dynamic FormControlLabel Radio 未被检查

javascript - 在 focusout/blur 上检索文本

javascript - Knockout.js 在文本区域中使用换行符绑定(bind) html 字符串的最佳方法

javascript - 将 javascript 对象完整传递给 ruby​​ 类

javascript - jQuery 自动完成图像

javascript - 使用 javascript 或 jquery 从选择下拉列表中删除重复项

javascript - 滚动链接

javascript - 无法动态设置文本区域的高度

javascript - Ace Editor - 用于粘贴的自定义按键绑定(bind)

syntax-highlighting - ace 编辑器语法荧光笔中行尾的退出状态