Погугленный это тысячи времен, Никто не дает полное решение того, как сделать вставку Tinymce в простом тексте по умолчанию и полосе любое форматирование, не нажимая кнопку "paste as text".
Какие-либо Идеи того, как реализовать это? или как включить "вставку как текст" кнопка автоматически?
Спасибо
РЕДАКТИРОВАТЬ: это решение для версии 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;
});
}
}
Итак, теперь он всегда будет простым.
Я не уверен, что это возможно, поскольку «вставить как открытый текст» фактически выполняет очистку текста перед добавлением его в окно. Если вы просто вставляете данные в окно, никакие операции выполнять нельзя. (Если вы не подключились к onChange
или что-то в этом роде), но они могут закончиться исправлением кода, который уже был вставлен, и, таким образом, «двойным исправлением» его.
Я решил эту проблему с помощью этого кода
tinyMCE.init({
...
plugins : "paste",
paste_text_sticky : true,
setup : function(ed) {
ed.onInit.add(function(ed) {
ed.pasteAsPlainText = true;
});
}
....
})