如何使用' setReadyOnly'对于ACE编辑器的特定会话

时间:2014-09-17 20:20:13

标签: javascript web ace-editor

我的页面中有多个ace编辑器。我已经通过使用以下代码将页面上的所有内容替换为ace编辑器来完成此操作:

https://gist.github.com/duncansmart/5267653

我想设置一些可编辑的,其中一些只使用编辑器的'setReadOnly'属性。

但是当我在for循环中使用'editor.setReadOnly(flag)'时,它会改变所有ace编辑器的ReadOnly属性。

如果我做editor.getSession()。setReadOnly(flag),我收到错误

TypeError:undefined不是函数

在上面的代码中,flag为true或false。 关于这个的任何想法?

1 个答案:

答案 0 :(得分:3)

我弄明白了这个问题。

它的价值"真的"在setReadOnly中作为参数传递的是使用' get'从textarea获取的。函数来自domAttr(Dojo)。

所以变量的类型是一个字符串。

我使用以下代码将其类型化为布尔值:

var editStringFlag=domAttr.get(textarea,'editFlag');
var editBoolFlag = (editStringFlag==='true')
editor.setReadOnly(editBoolFlag);

这解决了问题