Tinymce t禁用撤消/重做功能

Tinymce t禁用撤消/重做功能,tinymce,Tinymce,我需要在tinyMCE中禁用撤消/重做功能。我看到了文档,并使用了以下功能: ed.onUndo.add(function(ed, e) { tinymce.dom.Event.cancel(e); e.preventDefault(); return false; }); ed.onRedo.add(function(ed, e) { tiny

我需要在tinyMCE中禁用撤消/重做功能。我看到了文档,并使用了以下功能:

ed.onUndo.add(function(ed, e) {
                tinymce.dom.Event.cancel(e);
                e.preventDefault();
                return false;
            });
ed.onRedo.add(function(ed, e) {
                tinymce.dom.Event.cancel(e);
                e.preventDefault();
                return false;
            });
但是没有成功。
注意:ed是我的活动编辑器。

我们也遇到了同样的问题,但解决方案有点粗糙。 tinymce核心中有一个ajavascript类,我们需要覆盖它:tinymce.UndoManager

我们使用一个粘贴到编辑器对象的变量来决定是否应该创建撤销步骤:tinymce.activeEditor.disable\u undo\u creation。 以下是覆盖类的代码部分:

        add : function(level) {

            if (tinymce.activeEditor.disable_undo_creation) return;

            var i, settings = editor.settings, lastLevel;

            level = level || {};
            level.content = getContent();

            // Add undo level if needed
            lastLevel = data[index];
            if (lastLevel && lastLevel.content == level.content)
                return null;

            // Time to compress
            if (settings.custom_undo_redo_levels) {
                if (data.length > settings.custom_undo_redo_levels) {
                    for (i = 0; i < data.length - 1; i++)
                        data[i] = data[i + 1];

                    data.length--;
                    index = data.length;
                }
            }

            // Get a non intrusive normalized bookmark
            level.bookmark = editor.selection.getBookmark(2, true);

            // Crop array if needed
            if (index < data.length - 1)
                data.length = index + 1;

            data.push(level);
            index = data.length - 1;

            self.onAdd.dispatch(self, level);
            editor.isNotDirty = 0;

            return level;
        },

当编辑器无法创建撤消步骤时,重做/撤消将不再工作。

我们也遇到了同样的问题,但解决方案有点粗糙。 tinymce核心中有一个ajavascript类,我们需要覆盖它:tinymce.UndoManager

我们使用一个粘贴到编辑器对象的变量来决定是否应该创建撤销步骤:tinymce.activeEditor.disable\u undo\u creation。 以下是覆盖类的代码部分:

        add : function(level) {

            if (tinymce.activeEditor.disable_undo_creation) return;

            var i, settings = editor.settings, lastLevel;

            level = level || {};
            level.content = getContent();

            // Add undo level if needed
            lastLevel = data[index];
            if (lastLevel && lastLevel.content == level.content)
                return null;

            // Time to compress
            if (settings.custom_undo_redo_levels) {
                if (data.length > settings.custom_undo_redo_levels) {
                    for (i = 0; i < data.length - 1; i++)
                        data[i] = data[i + 1];

                    data.length--;
                    index = data.length;
                }
            }

            // Get a non intrusive normalized bookmark
            level.bookmark = editor.selection.getBookmark(2, true);

            // Crop array if needed
            if (index < data.length - 1)
                data.length = index + 1;

            data.push(level);
            index = data.length - 1;

            self.onAdd.dispatch(self, level);
            editor.isNotDirty = 0;

            return level;
        },

当编辑器无法创建撤消步骤时,重做/撤消将不再工作。

如果使用tinyMCE 4.*,则可以通过在事件发生时返回false来禁用撤消/重做:


如果您使用的是tinyMCE 4.*,则可以通过在事件发生时返回false来禁用撤消/重做:


TinyMCE v4-只需覆盖默认设置

tinymce.init({
  selector: '#content',
  toolbar: 'bold italic strikethrough underline | quicklink | alignleft aligncenter alignright alignjustify | link ',
});

TinyMCE v4-只需覆盖默认设置

tinymce.init({
  selector: '#content',
  toolbar: 'bold italic strikethrough underline | quicklink | alignleft aligncenter alignright alignjustify | link ',
});

我回家后会试试这个!我回家后会试试这个!伙计,你救了我一天!伙计,你救了我一天!