bootstrap-wysiwyg get экземпляр не определен

Я следую их руководству в Github о том, как получить экземпляр wysihtml5 на основе идентификатора textarea или класса, в который вы его поместили. Этот JSFiddle показывает ошибку, с которой я сталкиваюсь:

http://jsfiddle.net/ez3ajvaf/2/

Это мой HTML:

<span class="footer-btn quote" rel=".text-editor" data-text="body-1"><span class="icon"><i class="fa fa-quote-left"></i></span> Quote</span>

<textarea name="body" class="text-editor text-countdown" placeholder="Please allow up to 2,000 characters" maxlength="2000" data-rel="countdown" id="body" required></textarea>

<div class="countdown-wrapper">
    <span id="countdown" class="countdown"></span>
</div>

Это мой Javascript:

$('.text-editor').wysihtml5({
    toolbar: {
        "font-styles": true, //Font styling, e.g. h1, h2, etc. Default true
        "emphasis": true, //Italics, bold, etc. Default true
        "lists": true, //(Un)ordered lists, e.g. Bullets, Numbers. Default true
        "html": false, //Button which allows you to edit the generated HTML. Default false
        "link": true, //Button to insert a link. Default true
        "image": true, //Button to insert an image. Default true,
        "color": false, //Button to change color of font  
        "blockquote": true, //Blockquote
    }
});

 $('.quote').on('click', function() {

     console.log('clicked');

     var textarea = $(this).attr('rel');

     console.log($(textarea).data("wysihtml5").editor);

     $(textarea).data("wysihtml5").editor.html('hello');

 });

Я получаю ошибку

Uncaught TypeError: Невозможно прочитать свойство 'html' из неопределенного

Под их github https://github.com/bootstrap-wysiwyg/bootstrap3-wysiwyg если вы прокрутите вниз до "Вы можете получить доступ к объекту редактора wysihtml5, как это:", он показывает этот точный код на основе их идентификатора textarea, который они инициировали wysihtml5 на, Мой текстовый редактор загружается нормально, и он отлично работает, но я не могу понять экземпляр. data-wysihtml5 не представляется добавленным в качестве атрибута, когда я начинаю код для начала.

Я пытаюсь получить, когда вы нажимаете "Цитировать", он цитирует пост (который я могу добавить позже, чтобы получить этот контекст) в текстовом редакторе. Спасибо за любую помощь или руководство!

1 ответ

У меня была та же проблема с обновлением редактора wysihtml5, и я решил ее следующим образом:

$('.wysihtml5-sandbox').contents().find('body').html('<b>New text</a>');

Я знаю, это не лучшее решение, но только это работает для меня. Если у вас есть лучшее решение, пожалуйста, дайте мне знать.

Скрипка больше не работает, возможно, есть проблемы с зависимостями. Проблема могла быть в том, как содержимое textarea или отсутствующие зависимости, кто знает.

В любом случае это работает:

$('.textarea').data('wysihtml5').editor

см.: http://jsfiddle.net/estani/pfm2bx6j/1/

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