gpt4 book ai didi

javascript - 在 jQuery UI 对话框上启动 TinyMce

转载 作者:行者123 更新时间:2023-11-30 17:28:16 27 4
gpt4 key购买 nike

#open_dialog 上的点击事件会触发一个 jQuery UI 对话框,并向 /ajax/request/url/ 发出 ajax 请求

我想在从 ajax 请求发回的文本区域上启动 Tinymce。

使用以下代码我得到日志消息“ajax done!”每次我单击 #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 下面是文本区域的 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");
});
});

关于javascript - 在 jQuery UI 对话框上启动 TinyMce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23787620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com