JavaScript / CodeMirror - refresh textarea

拥有回忆 提交于 2019-12-28 15:35:21

问题


How do I use the refresh function from CodeMirror 2?

refresh()

If your code does something to change the size of the editor element (window resizes are already listened for), or unhides it, you should probably follow up by calling this method to ensure CodeMirror is still looking as intended.

I want to refresh all textareas after a link is clicked

I tried

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

but it doesn't work....


回答1:


The refresh method (just like all other CodeMirror methods) does not live on the DOM node, but on the instance object that's returned when you create the editor (by calling CodeMirror or CodeMirror.fromTextArea). So you'll have to store those somewhere for this to work.




回答2:


When you instantiate the CodeMirror instance, it is placed as a property on the wrapper div.

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

The above snippet does not recreate the editor, but instead uses the existing one.



来源:https://stackoverflow.com/questions/5364909/javascript-codemirror-refresh-textarea

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!