我的页面中有多个ace编辑器。我已经通过使用以下代码将页面上的所有内容替换为ace编辑器来完成此操作:
https://gist.github.com/duncansmart/5267653
我想设置一些可编辑的,其中一些只使用编辑器的'setReadOnly'属性。
但是当我在for循环中使用'editor.setReadOnly(flag)'时,它会改变所有ace编辑器的ReadOnly属性。
如果我做editor.getSession()。setReadOnly(flag),我收到错误
TypeError:undefined不是函数
在上面的代码中,flag为true或false。 关于这个的任何想法?
答案 0 :(得分:3)
我弄明白了这个问题。
它的价值"真的"在setReadOnly中作为参数传递的是使用' get'从textarea获取的。函数来自domAttr(Dojo)。
所以变量的类型是一个字符串。
我使用以下代码将其类型化为布尔值:
var editStringFlag=domAttr.get(textarea,'editFlag');
var editBoolFlag = (editStringFlag==='true')
editor.setReadOnly(editBoolFlag);
这解决了问题