2

我在 asp.net 应用程序中使用 TinyMCE,并在服务器上设置 textareas 的内容。问题是,一旦页面加载,我们会在 textareas 中看到原始 HTML 片刻,直到编辑器被初始化。我尝试在 textareas 上设置 display:none,然后在 oninit 例程中的每个文本区域上调用 .next().show() ,这有效,除了编辑器不是他们需要的大小(可能是因为底层初始化编辑器时 textarea 被隐藏了?)

其他人是如何解决这个问题的?

谢谢

4

2 回答 2

0

您可以保存 textarea 内容,然后将其设置为空并在编辑器初始化后重置 tinymce 内容:

var content = $('textarea_id').html();
$('textarea_id').html('');

tinyMCE.init({
   ...
   setup : function(ed) {
    ed.onInit.add(function(ed, evt) {
           ed.setContent(content);
        });
   },
   ...

});
于 2012-10-29T08:57:40.347 回答
0

我刚刚遇到了这个问题,并决定将我的解决方案保留如下:

//Before loading, hide textarea element using visibility='hidden' so that the space the element takes will be maintained
document.querySelector('.editor').style.visibility = 'hidden';

tinyMCE.init({
    editor_selector: "editor",
    setup: function (ed) {
        ed.onInit.add(function (ed, evt) {
            //show the element again now that the editor is loaded.
            document.querySelector('.editor').style.visibility = 'visible';
        });
    }
});
于 2015-11-09T20:01:49.050 回答