php - CodeMirror 有内容但在按键之前不会显示

标签 php javascript jquery codemirror

我在正在构建的 Web 应用程序中嵌入了一个 CodeMirror 实例。它工作得很好 - 除了在用户输入新字符之前不会显示初始内容。所以它就在那里,但隐藏起来,直到用户强制更改。这是不好的。有什么方法可以强制重新绘制或刷新模拟字符输入的浏览器 - 空格就可以了。

这是代码...

<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 )

它不是很漂亮,但这对我来说已经解决了。

关于php - CodeMirror 有内容但在按键之前不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10575833/

相关文章:

php - 使用 jquery 单击单元格后,让 div 从 fetch-array-table 行获取值

jquery - 元素焦点无限循环

javascript - 视频高清按钮,js播放器

javascript - 如何使用 jquery css 将按钮的背景图像分配给变量

jquery - 自定义控件不响应 Google map Api 中的 jQuery 调用

php - 在运行时从数据库更改 Laravel 的配置

PHP 和 MySQL 特殊字符错误

php - 在 Laravel 中同时保存数据和附加

javascript - 悬停时循环浏览图像

javascript - 使侧边栏可在拖动时调整大小