我正在使用codemirror 2并且它工作正常,除了编辑器的设置值没有加载到编辑器中,直到我单击编辑器并且它变得集中.
我希望编辑器在不必点击的情况下显示自己的内容.有任何想法吗?
所有的codemirror演示都按预期工作,所以我想也许textarea没有集中,所以我也尝试过.
$("#editor").focus();
var editor = CodeMirror.fromTextArea(document.getElementById("editor"), {
mode: "text/html",
height: "197px",
lineNumbers: true
});
Run Code Online (Sandbox Code Playgroud) 如何使用CodeMirror 2中的刷新功能?
如果您的代码确实需要更改编辑器元素的大小(已经监听了窗口调整大小),或者取消隐藏它,那么您应该通过调用此方法来跟进,以确保CodeMirror仍然按预期进行查找.
我想在点击链接后刷新所有textareas
我试过了
$('.CodeMirror').each(function(){
getElementById($(this).attr('id')).refresh();
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用....
这个功能有效:
function refreshCodeMirror(){
$("textarea").each(function(){
var codeMirror = $(this).data('codeMirror');
setTimeout(function(codeMirror){
return function () {
codeMirror.refresh();
}
}(codeMirror), 10)
});
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图将其简化为:
function refreshCodeMirror(){
$("textarea").each(function(){
var codeMirror = $(this).data('codeMirror');
setTimeout(codeMirror.refresh, 10)
});
}
Run Code Online (Sandbox Code Playgroud)
简化不起作用.
一些(可能不相关)背景:
在onclick中为django模板中的bootstrap tab-header调用了refreshCodeMirror函数:
<div class="row">
<div class="col-md-12">
<ul class="nav nav-tabs" role="tablist">
{% for field in form_tab_fields %}
<li role="presentation"{% if forloop.first %} class="active"{% endif %}>
<a class="tab-header" href="#{{ field.id_for_label }}_tab" data-toggle="tab" onclick="refreshCodeMirror()">{{ field.label_tag }}</a>
</li>
{% endfor %}
</ul>
<div class="tab-content">
{% for field in form_tab_fields %}
<div …Run Code Online (Sandbox Code Playgroud)