部分文本在Codemirror中不可见

问题描述 投票:0回答:1

我使用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>

问题是在滚动或编辑文本之前,文本的一部分不可见。

1. editor.refresh()失败

因为我的div包含textarea从一开始就不可见,所以我称之为editor.refresh();。之前没有文字可见。

2. setTimeout失败

我也试过这招,没有任何运气:

setTimeout(function() {
    editor.refresh();
},1);

3. autoRefresh失败

我也尝试了autoRefresh插件,但这没有任何区别。

下面是一个动画屏幕截图,您可以在其中查看正在发生的事情。

更多信息

preCodeMirror-line类没有呈现。它不仅仅是隐藏的,甚至不存在。我想Codemirror会尝试智能并按需呈现?

enter image description here

javascript refresh codemirror
1个回答
0
投票

编辑:这里有一个对这个问题的回应https://discuss.codemirror.net/t/part-of-text-not-rendered/2030/5有效的解决方案是指定选项viewportMargin: Infinity

我有这样的问题,它最终是由我在CodeMirror之外的不正确的CSS布局引起的。尝试检查CodeMirror元素并检查其高度。高度应在显示屏内,而不是在显示屏上。当我遇到类似的问题时,CodeMirror实例的高度大于显示。我通过确保最终包含CodeMirror实例的所有div的高度为100%来更正它。

© www.soinside.com 2019 - 2024. All rights reserved.