CodeMirror 有内容,但在按键之前不会显示
CodeMirror has content but won't display until keypress
本文关键字:显示 CodeMirror 更新时间:2023-09-26
我有一个 CodeMirror 实例嵌入到我正在构建的 Web 应用程序中。它工作得很好 - 除了在用户输入新字符之前不会显示初始内容。因此,在用户强制更改之前,它都在那里隐藏。这很糟糕。有什么方法可以强制重新绘制或刷新模拟字符输入的浏览器 - 空格就可以了。
这是代码...
<textarea id='code-mirror' ><?php echo $contents; ?></textarea>
<script>
jQuery(document).ready(function(){
var textarea = document.getElementById('code-mirror');
var myCodeMirror = CodeMirror.fromTextArea(textarea,
{
onUpdate:codemirrorcallback,
});
// myCodeMirror.refresh(); ? is this an option?
});
</script>
这将生成一个工作编辑器,该编辑器保存内容并在文本区域内显示保存的内容,但仅在用户开始编辑后显示它。在此之前,它只是空白的。
任何帮助,甚至只是链接,将不胜感激。谢谢大家!
更新
在 myCodeMirror 上调用 .refresh 会在 Chrome 控制台中打印错误Uncaught TypeError: Cannot call method 'focus' of undefined
如果发生这种情况,您确实需要在 CodeMirror 实例上调用 refresh()
。但是由于太空猴子,您需要在超时中包装刷新调用:
var editor = CodeMirror.fromTextArea( yourSourceDOM, { lineNumbers:true })
setTimeout( editor.refresh, 0 )
它并不漂亮,但这为我解决了它。
使用代码镜像 5.14.2,如果您显式刷新,则必须注意正确调用它(请参阅此问题),但使用代码镜像提供的自动刷新插件最容易处理它。
如果您使用的是 CodeMirror 版本 2+,则可以调用 CodeMirror.refresh()
。请参阅有关 refresh()
的文档。
注意: 这必须在 CodeMirror 实例上调用,而不是在元素上调用。见 https://stackoverflow.com/a/5377029/526741
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- Don'在IE中调用find next时,不要高亮显示Codemirror中的光标
- 在Codemirror上显示CoffeeScript Lint
- Codemirror 内联显示 CSSLint 错误 (.addLineWidget)
- CodeMirror 有内容,但在按键之前不会显示
- 无法在 xml 模式下让折叠装订线显示在 CodeMirror 中
- CodeMirror没有突出显示XML
- javascripters:CodeMirror.net是显示大型不可编辑代码片段的有效选择吗
- 如何突出显示codeMirror中的语法
- 如何在默认情况下激活CodeMirror(高亮显示)中的代码颜色
- 带有几行代码的CodeMirror在触发重绘之前不会显示
- 使用CodeMirror进行独立语法高亮显示行号