我有一个 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>
这会生成一个工作编辑器,用于保存内容并在文本区域内显示保存的内容,但仅在用户开始编辑后才显示。在此之前它只是空白。
任何帮助,即使只是链接,都将受到高度赞赏。多谢你们!
UPDATE
在 myCodeMirror 上调用 .refresh 会在 Chrome 控制台中打印错误Uncaught TypeError: Cannot call method 'focus' of undefined
您确实需要致电refresh()
如果发生这种情况,请在您的 CodeMirror 实例上。但由于空间猴子,您需要将刷新调用包装在超时中:
var editor = CodeMirror.fromTextArea( yourSourceDOM, { lineNumbers:true })
setTimeout( editor.refresh, 0 )
这并不漂亮,但这为我解决了问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)