Команды wysihtml5 отображаются как неопределенные

Когда я загружаю wysithml5 загрузочный редактор, эта команда или любая команда, которая wysihtml5 поддержка начальной загрузки не работает.

Когда я предупреждаю editor.composer.commandsэто выглядит как неопределенный.

Что я могу сделать, чтобы это исправить? JQuery загружается с JQuery-UI, я не знаю, помогает ли это.

$(document).ready(function() {
    $('#content').wysihtml5();
    var editor = $('#content').wysihtml5().data("wysihtml5").editor;
    editor.currentView.element.focus();
    editor.composer.commands.exec('insertHTML' , 'Something');`
});

Ссылочный редактор: https://github.com/xing/wysihtml5

1 ответ

У меня была эта проблема при программном использовании команд вскоре после того, как редактор был создан и загружен на страницу. Рассмотрим следующий код:

<textarea id="wysihtml5-textarea" rows="3" autofocus></textarea>

Я решил это, разрешив некоторое время после загрузки редактора с помощью window.setTimeout. Приведенный ниже код является примером использования команды 'insertImage':

$(function () {
   var editorEle = $('#wysihtml5-textarea');
   var editorToolbarEle = $('#wysihtml5-toolbar');
   var editor = new wysihtml5.Editor(editorEle.prop('id'), {});

   window.setTimeout(function() {
      editor.focus();
      editor.composer.commands.exec("insertImage", { src: 'foo.png', alt: "image.." });
   }, 200);
});

Вы можете увидеть, как работает этот код, и протестировать его, используя следующий JSFiddle (удалите setTimeout, чтобы увидеть, что произошла ошибка):

http://jsfiddle.net/wv0fbsew/

У меня была эта проблема при использовании раздвоенной версии редактора (wysihtml5x). Это не версия Bootstrap, упомянутая в этом вопросе, ни та, которую я использовал, но проблема та же.

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