TinyMCE inside hidden div are not displayed as enabled when we put the div visible

不打扰是莪最后的温柔 提交于 2019-12-19 19:31:11

问题


I am having an issue with tinyMCE (WYSIWYG editor). I am actually adding the textarea inside a HTML element like a DIV which is currently having the style attribute "display:none".

When I am changing the DIV display style to visible the tinyMCE editor is shown as disabled.

Important Note: The setting which is causing the issue is the "auto_resize" option. This is the only option that I turn on/off that make the tinyMCE editor goes in edit or read-only mode.

Here's my code:

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>

I would like to know if anyone has an idea of how to fix that issue?


回答1:


Try calling tinyMCE.init(...) after you unhide the containing div.




回答2:


This question it's quite old, but I had this problem too. I fixed with inline styles.

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

To make it easier I build this simple script to do ir for me before the init()

$('textarea.tinymce').each(function(){
    $(this).css({
        width: $(this).width(),
        height: $(this).height()
    });
})


来源:https://stackoverflow.com/questions/826020/tinymce-inside-hidden-div-are-not-displayed-as-enabled-when-we-put-the-div-visib

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!