JavaScript / CodeMirror - обновить текстовую область

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

обновить ()

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

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

Я старался

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

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

2 ответа

Решение

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

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

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

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

Другие вопросы по тегам