【问题标题】:TinyMCE execCommand return undefinedTinyMCE execCommand 返回未定义
【发布时间】:2013-04-17 06:48:23
【问题描述】:

我正在尝试从我之前创建的特定文本区域中删除 tinyMCE,但以下命令不断产生“未定义”错误(使用 firebug 控制台检查):

tinyMCE.execCommand('mceFocus', false, 'textarea-plainText');
tinyMCE.execCommand('mceRemoveControl', false, 'textarea-plainText')

我已经使用 jQuery 为该特定文本区域初始化了 TinyMCE:

$('textarea#textarea-plainText').tinymce({
                script_url : '<?php echo base_url(); ?>/assets/js/tinymce/tinymce.min.js',
                oninit: function() {
                            $("textarea#textarea-plainText").tinymce().setContent("");
                            $("textarea#textarea-plainText").tinymce().setContent(noteSecContent.html[0].notesec_content);
                        }
            });

我也尝试使用以下命令添加 tinyMCE,但它也返回 undefined 尽管我有一个带有“textarea-plainText”ID 的文本区域:

$.getScript('<?php echo base_url(); ?>assets/js/tinymce/tinymce.min.js', function() {
            window.tinymce.dom.Event.domLoaded = true;
            tinyMCE.init({
                mode: 'none'
            });
            tinyMCE.execCommand('mceAddControl', false, 'textarea-plainText');
        });

简而言之,我只能使用 jquery 方法或精确方法进行初始化。但不使用 tinyMCE.execCommand。不知何故,“exeCommand”命令不起作用。

文本区域的 HTML:

<div id="plainTextModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="plainTextLabel" aria-hidden="true">
  <div class="modal-body">
   <textarea id='textarea-plainText'></textarea>
  </div>
  <div class="modal-footer">
    <button class="btn btn-danger" data-dismiss="modal" aria-hidden="true">Cancel</button>
    <a href="" id="confirm-delete-note-section" class="btn btn-primary">Save</a>
    <a href="" id="confirm-delete-note-section" class="btn btn-info">Save &amp; Close</a>
  </div>
</div>

它是一个模态,所以在调用模态之前它最初是隐藏的。

顺便说一下,我正在使用 TinyMCE 4.0b1。

【问题讨论】:

  • 我不确定,但您可以尝试使用不带“-”的 id 并查看是否有帮助?
  • 是的。我尝试使用不带“-”的 ID,但仍然产生相同的错误
  • 你能创建一个 tinymce fiddle 或其他类型的实例吗?
  • 好的,当然。我尝试了非常基本的实现,但 textarea 也没有转换为 TinyMCE:jsfiddle.net/6cPaC/1 我在这里错过了什么吗?还是命令“execCommand”仍然适用于 tinyMCE 4?
  • 我猜类似的 init 方法适用于 3.5 版:fiddle.tinymce.com/tcdaab

标签: jquery ajax tinymce undefined


【解决方案1】:

因为在 4.x 中他们删除了 mceRemoveControlmceAddControl(我不确定 mceFocus)所以你会得到未定义,所以请改用 mceAddEditormceRemoveEditor

因为这些代码做了同样的事情,他们在清理中删除了 mceRemoveControlmceAddControl

别忘了从现在开始你需要使用小写的tinymce

【讨论】:

  • 我测试了“mceAddEditor”,它工作正常!有点晚了,但谢谢。这是与工作 TinyMCE 的 jsfiddle 的链接:jsfiddle.net/6cPaC/3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-03
  • 1970-01-01
  • 2014-09-02
  • 2019-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多