TinyMCE внутри скрытого div не отображается как включенный, когда мы помещаем div видимым - PullRequest
5 голосов
/ 05 мая 2009

У меня проблема с tinyMCE (редактор WYSIWYG). Я на самом деле добавляю текстовую область в элемент HTML, такой как DIV, который в настоящее время имеет атрибут стиля «display: none».

Когда я меняю стиль отображения DIV на видимый, редактор tinyMCE отображается как отключенный.

Важное примечание. Параметр, вызывающий проблему, является параметром «auto_resize». Это единственная опция, которую я включаю / выключаю, чтобы редактор tinyMCE перешел в режим редактирования или только для чтения.

Вот мой код:

tinyMCE.init({
    mode: "specific_textareas",
                editor_selector: /(RichTextArea)/, 
                theme: "advanced",
                auto_reset_designmode: true,
                auto_resize:true,
                theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,fontselect,fontsizeselect,|,forecolor,backcolor,|,bullist,numlist,|,justifyleft,justifycenter,justifyright,justifyfull",
                theme_advanced_buttons2: "",
                theme_advanced_buttons3: "",
                theme_advanced_buttons4: "",
                theme_advanced_more_colors: 0,
                theme_advanced_toolbar_location: "external",
                theme_advanced_toolbar_align: "left"
});

...

<a href="#" onclick='document.getElementById("myHiddenDiv").style.display = "block"; return false;'>Show WYSIWYG</a><br/>
<div id="myHiddenDiv" style="display:none">
    <!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
    <textarea class="RichTextArea" id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
        &lt;p&gt;This is the first paragraph.&lt;/p&gt;
        &lt;p&gt;This is the second paragraph.&lt;/p&gt;
        &lt;p&gt;This is the third paragraph.&lt;/p&gt;
    </textarea>
</div>

Я хотел бы знать, есть ли у кого-нибудь идеи, как решить эту проблему?

Ответы [ 2 ]

6 голосов
/ 05 мая 2009

Попробуйте вызвать tinyMCE.init (...) после того, как раскроете содержащий div.

1 голос
/ 26 апреля 2013

Этот вопрос довольно старый, но у меня тоже была эта проблема. Я исправил с помощью встроенных стилей.

<textarea class="tinymce" style="width: 300px; height: 400px"></textarea>

Чтобы упростить процесс, я создаю этот простой скрипт, чтобы сделать ir для меня перед init ()

$('textarea.tinymce').each(function(){
    $(this).css({
        width: $(this).width(),
        height: $(this).height()
    });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...