问题是每次我点击工具栏上的任何东西时,tinyMCE(v 4. 7. 12)编辑器都会重新加载。这只发生在一次回发之后。在第一次初始化时,编辑器工作正常,但之后它的行为如下所示。如果我刷新页面,编辑器就可以正常工作了。
这是错误Video
这是初始化代码:
$(document).ready(function () {
$('#<%=_questionText.ClientID%>').tinymce({
setup: function (editor) {
editor.on('init', function (e) {
$('#' + e.target.id + '_ifr').removeAttr('title');
});
},
// Location of TinyMCE script
script_url: '<%=ResolveUrl("~/tinymce_4.7.12/tinymce.min.js")%>',
height: 246,
//cleanup_on_startup:true,
remove_redundant_brs: true,
forced_root_block: false,
branding: false,
width: 1035,
relative_urls: false,
remove_script_host: false,
// Drop lists for link/image/media/template dialogs
//template_external_list_url: 'lists/template_list.js',
external_link_list_url: '<%=ResolveUrl("~/ContentList.aspx?contentType=documents")%>',
external_image_list_url: '<%=ResolveUrl("~/ContentList.aspx?contentType=images")%>',
media_external_list_url: '<%=ResolveUrl("~/ContentList.aspx?contentType=video")%>',
plugins: [
"image charmap textcolor code upload advlist link <%= (IsHorizontalRuleEnabled? "hr" : "") %> table paste lists"
],
toolbar1: "bold italic underline strikethrough superscript subscript | bullist numlist indent outdent link | <%= (IsHorizontalRuleEnabled? "hr" : "") %> image upload table | charmap code | forecolor backcolor | styleselect fontselect fontsizeselect ",
table_default_attributes: {
cellpadding: '5px'
},
table_default_styles: {
width: '50%'
},
paste_as_text: true,
menubar: false,
init_instance_callback: "tinyMCEInitialized_<%=ClientID%>",
default_link_target: "_blank",
//Cause contents to be written back to base textbox on change
onchange_callback: function (ed) { ed.save(); },
gecko_spellcheck: true,
fontsize_formats: "8px 10px 12px 14px 16px 18px 20px 24px 36px"
});
//fix for incorrect user input html
var ok = $('a[id$=_okBtn]');
ok.attr('data-href', ok.attr('href'));
ok.removeAttr('href');
ok.attr('onclick', 'okButtonClick()');
});
字符串
我试着删除一些工具仍然这样做
我希望,虽然回发发生这个编辑器功能将工作正常。
1条答案
按热度按时间eagi6jfj1#
看看你的代码,其中
setup
是。它似乎是由刚刚存在的
$('#<%=_questionText.ClientID%>')
触发的。很可能JQuery会将其解释为“当单击菜单项时,设置TinyMCE”。我认为你想要的是当一个特定的项目被点击时设置tinymce。
因此,您需要弄清楚为什么
$('#<%=_questionText.ClientID%>')
针对所有菜单项,并使其仅针对您想要的特定项。然后,您可能希望从该菜单项中删除设置,以便后续单击不会使其重新设置TinyMCE。
所以你应该这样做:
字符串