Javascript 蒂尼姆丝:我怎样才能检查窗户是否关上了?
嗨,我有一个插件,可以打开一个带有自己html页面的窗口Javascript 蒂尼姆丝:我怎样才能检查窗户是否关上了?,javascript,jquery,tinymce-4,Javascript,Jquery,Tinymce 4,嗨,我有一个插件,可以打开一个带有自己html页面的窗口 tinymce.PluginManager.add('ds_format_edit', function (editor, url) { editor.addMenuItem('ds_format_edit', { text: 'Formatvorlage anpassen...', icon: false, onclick: function () { editor.execCommand("ds
tinymce.PluginManager.add('ds_format_edit', function (editor, url) {
editor.addMenuItem('ds_format_edit', {
text: 'Formatvorlage anpassen...',
icon: false,
onclick: function () {
editor.execCommand("ds_format_edit");
}
});
editor.addCommand('ds_format_edit', function () {
editor.windowManager.open({
title: "Formatvorlagen anpassen ...",
url: 'DSFormatEditDialog.html',
width: 800,
height: 350,
buttons: [
{
text: 'OK',
onclick: function () {
top.tinymce.activeEditor.windowManager.close();
}
},
{ text: 'Cancel', onclick: 'cancel' }
]
}, {
tinymce_formats: getFormats(),
});
});
});
tinymce_formats是我传递给窗口的参数。对话框将修改此参数。所有这些都有效。
现在,如果窗口已经关闭(如果用户按下OK按钮),我想重新初始化tinymce编辑器以获得修改后的参数。
是否有任何打开的回调函数或其他实现方法?
谢谢菲利克斯
编辑:
我用一个按钮来调用这个插件。插件打开一个带有参数的窗口。在这个窗口中,我做了一些事情并修改了参数。如果窗口已经关闭,我想使用我的重新初始化功能。我需要一个知道窗口何时关闭的函数来执行重新初始化功能。要重置所有内容(按钮状态和内容),您需要卸载编辑器并按如下方式再次初始化它:
# Remove TinyMCE instance
tinyMCE.remove();
# Initialize TinyMCE again
tinyMCE.init({ ... });
或者,如果只需要清空文本内容,请使用以下命令:
tinyMCE.get('#my-textarea-id').setContent("");
要告知主应用程序窗口已关闭,您可以触发自定义事件:
{
text:'OK',
onclick: function () {
jQuery(document).trigger('myCustomCloseEvent');
top.tinymce.activeEditor.windowManager.close();
}
}
在主应用程序中,绑定事件:
jQuery(document).on("myCustomCloseEvent", function()
{
alert('Window has been closed');
});
我知道如何删除编辑器。我需要的是一个在窗口关闭时执行的函数。只需使用您在OK按钮(答案更新)上已经定义的onclick回调。是的,但我无法在此位置访问我的重新初始化函数。我的Reinitialize函数是在主代码中实现的,而不是在插件中实现的。如果你想发送到你的主应用程序,你可以从这个回调中触发一个自定义事件。请参见'jQuery.trigger'抱歉,我不完全理解这一点。能给我举个例子吗?