JavaScript / CodeMirror – 刷新textarea

如何使用CodeMirror 2中的刷新function?

刷新()

如果您的代码执行某些操作来更改编辑器元素的大小(已经监听了窗口resize),或者取消隐藏它,则应该通过调用此方法来跟进,以确保CodeMirror仍然按预期显示。

我想在点击链接后刷新所有textareas

我试过了

$('.CodeMirror').each(function(){ getElementById($(this).attr('id')).refresh(); }); 

但它不起作用….

refresh方法(就像所有其他CodeMirror方法一样)不在DOM节点上,而是在创建编辑器时返回的实例对象上(通过调用CodeMirror或CodeMirror.fromTextArea)。 所以你必须将它存储在某个地方才能工作。

实例化Code​​Mirror实例时,它将作为属性放置在包装器div上。

 $('.CodeMirror').each(function(i, el){ el.CodeMirror.refresh(); }); 

上面的代码段不会重新创建编辑器,而是使用现有的编辑器。