CodeMirror似乎工作得非常好,除非我在textarea中只有少量(3个或更少)代码行。当发生这种情况时,textarea是空白的,直到I(A)在textarea中输入或(B)做一些导致浏览器重新绘制的内容(如调整大小)。当有超过3行时,它们会在首次渲染页面时显示正常。
我在这里没有做任何事情:
var editor = CodeMirror.fromTextArea(document.getElementById('html'), {
mode: 'text/html',
tabMode: 'indent',
lineNumbers: true
});
只是想知道是否有其他人遇到过这个问题。
答案 0 :(得分:1)
创建CodeMirror实例后使用refresh方法... editor.refresh() 当我在隐藏时尝试在dijit.Dialog中插入编辑器时,它发生在我身上。它为我做了诀窍。
答案 1 :(得分:0)
我设置了一个在Chrome中没有问题的方案,使用0到2行代码,有两种不同的方法。
我直接链接到包含的codemirror。
你有最新版本吗?
您遇到什么环境问题?
也许是浏览器特定的问题?
<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>