CodeMirror:textarea setValue()pro

时间:2014-01-28 15:29:36

标签: javascript jquery codemirror

我在ajax查询完成后尝试将codemirror应用到我的textarea,但总是得到空白textarea(文本已加载,但隐藏,因此textarea为空)。当我右键单击textarea并简单地打开Chrome DevTools文本时,我尝试了所有浏览器中的同样问题 - Mozilla(FireBug),Opera

这是我的codemirror代码:

CodeMirror.fromTextArea(result).setValue(JSON.stringify(data,null,'\t'));

CodeMirror版本3.21

2 个答案:

答案 0 :(得分:2)

我怀疑textarea是隐藏的,或者其他一些因素导致编辑器在初始化时无法进行渲染。在hidde时,CodeMirror无法正确构建其显示,因此在取消隐藏时必须调用其refresh方法。窗口调整大小(由打开devtools触发)将导致它自动刷新。

答案 1 :(得分:0)

执行类似的操作(我假设您的“结果”字段位于标识为此类的标记下):

CodeMirror.fromTextArea(document.getElementById('result'), {
    theme: 'default', // the theme can be set here
    lineNumbers: true,
    lineWrapping: true,
    styleActiveLine: true
}).setValue(JSON.stringify(data, '\t')

“setValue”函数的参数是1)元素2)值3)代码。每个都是可选的。