我試着同時這兩個,但由於tinyMCE上的一些丟失的回調/事件,這是我最好的。 ACE中的內容僅在tinyMCE模糊後更新。目前還沒有任何直接的輸入事件:
Fiddle forked
代碼:
var editor = ace.edit("edit");
var textarea = $('textarea[name="test"]');
editor.getSession().setValue(textarea.val());
editor.getSession().on('change', function(){
textarea.val(editor.getSession().getValue());
// copy ace to tinyMCE
tinymce.get('test').setContent(editor.getSession().getValue());
});
editor.setTheme("https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.2/theme-terminal.js");
editor.getSession().setMode("https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.2/mode-html.js");
tinymce.init({
selector: ".test",
relative_urls: false,
apply_source_formatting : true,
setup : function(ed) {
ed.on('change', function(e) {
// copy tinyMCE to textarea
textarea.val(tinymce.activeEditor.getContent({format : 'raw'}));
// copy tinyMCE to ace
editor.getSession().setValue(
tinymce.activeEditor.getContent({format : 'raw'})
);
});
}
});
TinyMCE有一個代碼視圖'tinymce.init({插件: 「代碼」});' - 爲什麼添加ACE進混合和複雜的東西? – staypuftman
爲了能見度目的,我將兩者分開。代碼視圖與tinymce不同的部分使用。這就是爲什麼我選擇了ace編輯器,而且它們比tinymce – Lynx