JavaScript / CodeMirror - обновить текстовую область - PullRequest
11 голосов
/ 20 марта 2011

Как использовать функцию обновления из CodeMirror 2?

обновить ()

Если ваш код что-то меняет размер элемента редактора (окна изменения уже прослушаны), или Вы должны, вероятно, следовать вызывая этот метод, чтобы обеспечить CodeMirror по-прежнему выглядит как предназначенный.

Я хочу обновить все текстовые поля после нажатия на ссылку

Я пытался

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

но это не работает ....

Ответы [ 2 ]

22 голосов
/ 20 декабря 2012

Когда вы создаете экземпляр экземпляра CodeMirror, он помещается как свойство в div обертки.

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

Приведенный выше фрагмент не воссоздает редактор, а использует существующий.

9 голосов
/ 21 марта 2011

Метод refresh (как и все другие методы CodeMirror) находится не на узле DOM, а на объекте экземпляра, который возвращается при создании редактора (путем вызова CodeMirror или CodeMirror.fromTextArea). Поэтому вам придется хранить их где-нибудь, чтобы это работало.

...