Jac*_*ney 10 javascript php jquery codemirror
我有一个嵌入在我正在构建的webapp中的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>
Run Code Online (Sandbox Code Playgroud)
这将生成一个工作编辑器,用于保存内容并在文本区域内显示已保存的内容,但仅在用户开始编辑后显示.在此之前它只是空白.
任何帮助,甚至只是链接将受到高度赞赏.多谢你们!
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 )
Run Code Online (Sandbox Code Playgroud)
它不漂亮,但这解决了我.
如果您使用的是 CodeMirror 版本 2+,您可以调用CodeMirror.refresh(). 请参阅上的文档refresh()。
注意:这必须在 CodeMirror实例而不是元素上调用。请参阅/sf/answers/376392061/
| 归档时间: |
|
| 查看次数: |
6932 次 |
| 最近记录: |