在jQuery UI对话框上初始化TinyMce
Initiating TinyMce on jQuery UI dialog
#open_dialog
上的点击事件触发一个jQuery UI对话框,并向/ajax/request/url/
发出ajax请求
我想在一个从ajax请求发回的文本区域上启动Tinymce。
用下面的代码我得到日志消息"ajax完成!"每次我点击#open_dialog
(和ajax请求完成),但Tinymce只加载第一次对话框打开。怎么会?我如何在每次加载对话框时启动tinymce ?
$('#open_dialog').click(function() {
$.when($.ajax("/ajax/request/url/")).done(function() {
console.log("ajax done!");
tinymce.init({selector:"textarea",
toolbar: "undo redo cut copy paste | bold italic underline | bullist numlist | table | styleselect | removeformat ",
plugins: "paste, table",
paste_word_valid_elements: "b,strong,i,em,h1,h2,table,tr,td,th",
menubar: false,
statusbar: true,
resize: "both"
});
});
});
最终通过删除旧的DOM和旧的编辑器解决了这个问题。下面的ee_body
是textarea的DOM id。
$(document).ready(function() {
tinymce.init({
mode:"none",
toolbar: "undo redo cut copy paste | bold italic underline | bullist numlist | table | styleselect | removeformat ",
plugins: "paste, table",
paste_word_valid_elements: "b,strong,i,em,h1,h2,table,tr,td,th",
menubar: false,
statusbar: true,
resize: "both"
});
});
$('#open_dialog').click(function(){
//Remove old editors and DOM-elements
tinymce.EditorManager.execCommand("mceRemoveEditor", false, "ee_body");
$('#ee_body').remove();
// When ajax request to new email is done, load Tinymce
$.when($.ajax("/ajax/request/url/")).done(function() {
tinyMCE.execCommand("mceAddEditor", true, "ee_body");
});
});
相关文章:
- 使用默认内容初始化tinyMCE
- TinyMCE初始化后,用javascript设置textarea值
- TinyMCE没有'无法进行第二次初始化
- 将变量发送到 TinyMCE 4.0,同时在调整浏览器窗口大小时重新初始化
- TinyMCE只初始化一次,然后调用它退出
- 初始化 Tinymce 时出现问题
- Tinymce不会在Safari上初始化
- 从父页初始化iFrame内部的TinyMCE
- 初始化后设置TinyMCE编辑器选项
- TinyMCE在AJAX加载的DIV中重新初始化后消失
- 初始化后设置TinyMCE编辑器参数
- tinyMce在第二次访问角局部视图时未初始化
- 如何在tinymce完全初始化后禁用它
- tinyMCE似乎并不总是被初始化
- TinyMCE没有初始化,但是没有JavaScript错误
- 如何移动TinyMCE javascript初始化设置到单独的文件
- 在jQuery UI对话框上初始化TinyMce
- TinyMCE初始化应该在dom就绪事件内
- tinymce 4初始化按钮
- 初始化tinymce的多个实例