【问题标题】:Tinymce content clear mceCleanupTinymce 内容清除 mceCleanup
【发布时间】:2014-02-27 11:09:18
【问题描述】:

我想清除 tinymce 内容并添加新内容。我尝试使用以下代码,但它会附加到旧内容。如何从tinymce中清除现有内容。

tinymce.activeEditor.execCommand('mceCleanup');
tinymce.activeEditor.execCommand('mceInsertContent', false, result.content);

【问题讨论】:

    标签: javascript jquery tinymce


    【解决方案1】:

    使用:

    tinyMCE.activeEditor.setContent('');
    

    将指定的内容设置为编辑器实例,这将清理 使用不同的清理规则设置之前的内容 选项。

    参考:TinyMce

    希望对你有帮助。

    【讨论】:

    • 文档有时太全面而无法理解..!!
    • @Fr0zenFyr:如果是这样,请向我解释一下different cleanup rules options 这些选项在哪里列出?
    • @jimasun:我相信您还没有查看答案中链接的文档页面...列出了非常清楚的示例来解释“不同的清理规则”。
    • @Fr0zenFyr:我做了,我只能看到两个例子:format: 'bbcode'format : 'bbcode'。我知道还有其他选项,例如 texthtml,但我找不到它的文档。
    • @jimasun:我不太明白你在找什么文档!! format 为htmlbbcoderaw text 设置编辑器语法支持。 html 使用 html 语法,raw 使用纯文本,bbcode 使用 bbcode 语法。 this example 对 bbcode 有帮助吗?
    【解决方案2】:

    TinyMCE 提供了一个方法 setContent。使用此方法设置新值。

    tinymce.activeEditor.setContent("content");
    

    同样提供getContent()

    tinymce.activeEditor.getContent();
    

    【讨论】:

      【解决方案3】:

      要清除现有内容,请尝试

      tinyMCE.activeEditor.setContent("");
      

      然后使用相同的setContent() 方法添加所需的内容:

      tinyMCE.activeEditor.setContent(result.content);
      

      在 webkit 中有一个已知的bug,它失去了对 textarea 的关注,但解决方法是将它放在设置或 init-callback 中:

      tinyMCE.init({
      mode : "textareas",
      theme : "advanced",
      setup : function(ed) {
          if(tinymce.isWebKit) {
              //workaround for Webkit to fix focus problems when setting contents to an empty string
              ed.onSetContent.add(function() {
                  window.focus();
                  ed.focus();
              });                        
          }
      }
      

      });

      【讨论】:

      【解决方案4】:

      如果您有多个 TinyMCE 编辑器,您可以使用:

      $('textarea').each(function(k, v) {
          tinyMCE.get(k).setContent('');
      });
      

      DEMO FIDDLE

      【讨论】:

        【解决方案5】:

        如果你有一个id 对应textarea,那么你可以得到editoridtextarea

        <textarea id='editor'></textarea>
        //tinyMCE.get(**id of the textarea**).setContent('');
        tinyMCE.get('editor').setContent('');
        

        【讨论】:

        • 尽管 OP 没有询问获得指定编辑器的问题,但我个人认为这更有帮助。太多关于 tinyMCE 的资源只是假设您在每次页面加载时只使用一个输入。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-30
        • 2011-03-05
        • 2016-05-12
        相关资源
        最近更新 更多