tinymce重置textarea大小 - bug以及如何修复它?

时间:2010-12-19 18:57:50

标签: javascript jquery tinymce

我正在画两个带有小mce的textareas,它们分为两个div,一个用于英语,一个用于法语。我根据英语/法语下拉显示/隐藏英语/法语div。

当我选择法语隐藏英语div并显示法语div时,法语小mce textarea的最小尺寸。当我拿走秀/隐藏时,textareas都画得很好。这看起来像一个小小的mce bug。无论如何要绕过这个?

这是代码:

        $(function () {
        $('textarea').tinymce({
            script_url: '/js/tiny_mce/tiny_mce.js',
            theme: "advanced"
        });

        $("#ddlLocales").change(function () {
            $(".localizedInput").hide();
                            //english or french
            $("." + $("#ddlLocales option:selected").text()).show();
        });
        //this is to trigger the change function on load.
        $("#ddlLocales").change();
    });

<div class="localizedInput english">

<textarea class = "eventInputTextArea"></textarea>

</div>

<div class="localizedInput French">
//this textarea's height and width get wiped out by tinymce only when implementing show/hide
<textarea class = "eventInputTextArea"></textarea>

<div>

//below is the css class that specifies the width and height of textarea
.eventInputTextArea{
    width:600px;
    height:400px;
}

3 个答案:

答案 0 :(得分:0)

您可以尝试specifying the styles inline

答案 1 :(得分:0)

解决方法:您可以在选择法语后更新高度/宽度以隐藏英语div。

对于高度设置,此代码可能看起来像

                iframe_id = ed.id + '_ifr';  // ed is the editor instance
                style = $('#' + iframe_id).attr('style');
                style_arr = style.split(';'); // width is first  [0]
                style_mod = style_arr[0] + ';height:' + ed.getParam('height') + 'px;';
                $('#' + iframe_id).attr('style', style_mod);

                // set table height
                iframe_tbl = ed.id + '_tbl';
                style = $('#' + iframe_tbl).attr('style');
                style_arr = style.split(';'); // width is first [0]
                style_mod = style_arr[0] + ';height:"10px;';
                $('#' + iframe_tbl).attr('style', style_mod);

答案 2 :(得分:0)

来自TinyMCE inside hidden div are not displayed as enabled when we put the div visible,用户的slolife回答帮助了我:

在取消隐藏包含div后,尝试调用tinyMCE.init(...)。