12

CodeMirror 似乎工作得非常好,除非我在 textarea 中只有几行(3 或更少)代码。发生这种情况时,文本区域是空白的,直到我 (A) 在文本区域中按 Enter 键或 (B) 执行导致浏览器重新绘制的操作(例如调整大小)。当超过 3 行时,它们在页面的第一次渲染时显示得很好。

我在这里没有做任何花哨的事情:

var editor = CodeMirror.fromTextArea(document.getElementById('html'), {
    mode: 'text/html',
    tabMode: 'indent',
    lineNumbers: true
});

只是想知道是否有其他人遇到过这个问题。

4

2 回答 2

3

在创建 CodeMirror 实例后使用刷新方法... editor.refresh() 当我隐藏时尝试在 dijit.Dialog 中插入编辑器时,我发生了这种情况。它对我有用。

于 2013-11-06T12:34:25.943 回答
0

我使用 0 到 2 行代码以几种不同的方式设置了一个在 Chrome 中没有问题的场景。

我直接链接到包含的代码镜像。

你有最新版本吗?

你遇到什么环境问题?

也许是浏览器特定的问题?

<link rel="stylesheet" href="http://codemirror.net/lib/codemirror.css">
<script src="http://codemirror.net/lib/codemirror.js"></script>
<script src="http://codemirror.net/addon/fold/foldcode.js"></script>
<script src="http://codemirror.net/addon/fold/foldgutter.js"></script>
<script src="http://codemirror.net/addon/fold/brace-fold.js"></script>
<script src="http://codemirror.net/addon/fold/xml-fold.js"></script>
<script src="http://codemirror.net/mode/javascript/javascript.js"></script>
<script src="http://codemirror.net/mode/xml/xml.js"></script>

<textarea id='someID1'></textarea>

<textarea id='someID2'>
    <table><tr><td>The wheels on the bus go round and round.</td></tr>
    </table>
</textarea>

<script>
    var editor = CodeMirror.fromTextArea(document.getElementById('someID1'), {
        mode: 'text/html',
        tabMode: 'indent',
        lineNumbers: true
    });

    CodeMirror.fromTextArea(document.getElementById('someID2'), {
        mode: 'text/html',
        tabMode: 'indent',
        lineNumbers: true
    });
</script>
于 2013-07-22T19:23:37.120 回答