我使用Codemirror并使用它(使用最新版本的Google Chrome)进行设置:
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
mode: 'markdown',
autoRefresh:true,
lineNumbers: false,
lineWrapping: true,
theme: "default",
extraKeys: {"Enter": "newlineAndIndentContinueMarkdownList"},
});
</script>
问题是在滚动或编辑文本之前,文本的一部分不可见。
因为我的div包含textarea从一开始就不可见,所以我称之为editor.refresh();
。之前没有文字可见。
我也试过这招,没有任何运气:
setTimeout(function() {
editor.refresh();
},1);
我也尝试了autoRefresh
插件,但这没有任何区别。
下面是一个动画屏幕截图,您可以在其中查看正在发生的事情。
pre
与CodeMirror-line
类没有呈现。它不仅仅是隐藏的,甚至不存在。我想Codemirror会尝试智能并按需呈现?
编辑:这里有一个对这个问题的回应https://discuss.codemirror.net/t/part-of-text-not-rendered/2030/5有效的解决方案是指定选项viewportMargin: Infinity
。
我有这样的问题,它最终是由我在CodeMirror之外的不正确的CSS布局引起的。尝试检查CodeMirror元素并检查其高度。高度应在显示屏内,而不是在显示屏上。当我遇到类似的问题时,CodeMirror实例的高度大于显示。我通过确保最终包含CodeMirror实例的所有div的高度为100%来更正它。