Как заставить tinymce вставить в простом тексте по умолчанию

Погугленный это тысячи времен, Никто не дает полное решение того, как сделать вставку Tinymce в простом тексте по умолчанию и полосе любое форматирование, не нажимая кнопку "paste as text".

Какие-либо Идеи того, как реализовать это? или как включить "вставку как текст" кнопка автоматически?

Спасибо

99
задан Ryan 28 April 2010 в 03:11
поделиться

3 ответа

РЕДАКТИРОВАТЬ: это решение для версии 3.x, для версии 4.x прочтите ответ @Paulo Neves

Проблема в Этот плагин Paste автоматически сбрасывает текстовую вставку при каждой вставке. Так что все, что нам нужно сделать - вернуть его обратно. Следующий код должен помочь.

tinyMCE.init({
...
oninit : "setPlainText",
plugins : "paste"

....
});

Определение setPlainText

 function setPlainText() {
        var ed = tinyMCE.get('elm1');

        ed.pasteAsPlainText = true;  

        //adding handlers crossbrowser
        if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) {
            ed.onKeyDown.add(function (ed, e) {
                if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45))
                    ed.pasteAsPlainText = true;
            });
        } else {            
            ed.onPaste.addToTop(function (ed, e) {
                ed.pasteAsPlainText = true;
            });
        }
    }

Итак, теперь он всегда будет простым.

56
ответ дан 24 November 2019 в 04:56
поделиться

Я не уверен, что это возможно, поскольку «вставить как открытый текст» фактически выполняет очистку текста перед добавлением его в окно. Если вы просто вставляете данные в окно, никакие операции выполнять нельзя. (Если вы не подключились к onChange или что-то в этом роде), но они могут закончиться исправлением кода, который уже был вставлен, и, таким образом, «двойным исправлением» его.

-1
ответ дан 24 November 2019 в 04:56
поделиться

Я решил эту проблему с помощью этого кода

tinyMCE.init({
...
plugins : "paste",
paste_text_sticky : true,
setup : function(ed) {
    ed.onInit.add(function(ed) {
      ed.pasteAsPlainText = true;
    });
  }
....
})
84
ответ дан 24 November 2019 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: