我有以下用例: 在我的应用程序中,我使用 Froala Editor v2.0.5。在那里,我在工具栏上添加了一个自定义按钮,它打开了一个引导模式对话框,用户可以在其中选择或搜索一些特定的页面/链接。这一切都与以下代码一起使用:
$j(function() {
$j.FroalaEditor.DefineIcon('linkInsertArticle', {NAME: 'search'});
$j.FroalaEditor.RegisterCommand('linkInsertArticle', {
title: synapse_translate("article.edit.links.linkInsertArticle"),
focus: false,
undo: true,
refreshAfterCallback: false,
callback: function() {
$j("#article-link-dialog").modal();
}
});
});
现在我想将选定的链接插入到我的文档中。
问题: 当用户单击对话框上的某处时,编辑器将失去焦点/文本选择。现在用户单击我的自定义对话框上的“插入”按钮,该对话框调用以下方法:
editor.link.insert(someLink, someTitle);
并关闭对话框。但是这种方法不起作用,因为编辑器当前没有焦点/选择。
问题: 是否可以在不丢失编辑器中的焦点/选择的情况下打开自定义对话框?Froala 图像管理器使用这样的对话框,但我不知道如何将我的引导模式内容放入 froala 模式。
我仍然尝试了选项 iframe = true。使用此选项,编辑器将始终保留其选择,但此选项会在我的应用程序中带来一些错误,例如缺少 CSS、重复滚动条和无法调整工作表大小,因此我不想使用此选项。
还有其他方法吗?