CKEditor 小部件双击打开对话框不起作用
CKEditor widget double click to open dialog does not work
我创建了最简单的小部件,它由一个 div 和一个 class 组成。模板是;
<div class="simple" data-padding="false"></header>
对话框包含 1 个用于更改填充的复选框。
这个小部件工作正常,向上转换得很好,当您将鼠标悬停在它上面时,它周围会显示黄线。然而,双击它打开对话框是不可能的,没有任何反应,也没有控制台错误。我应该期望在 div 内双击应该打开对话框。
当第二个 div 被嵌套时,它被设置为可编辑并且一些填充被添加到主 div,可以双击两者之间的填充区域divs 打开对话框,当然这不是我想要的..
这里出了什么问题,这是一个错误吗?
我最初是通过给双击事件添加一个监听器解决的;
CKEDITOR.plugins.add('simple', {
init: function(editor) {
editor.on( 'doubleclick', function(e) {
var ClickedWidget = e.editor.widgets.widgetHoldingFocusedEditable;
if (ClickedWidget != null && ClickedWidget.name == 'simple') {
ClickedWidget.edit();
}
});
这很好用,但妨碍了在可编辑元素中选择文本。这也解释了为什么它是这样设置的。
因此,为了妥善解决这个问题,我创建了一个插件,该插件在右键单击小部件时显示上下文菜单,其中包含编辑和删除选项。我已经在 CKEditor 网站上提供了这个插件供其他人使用;
我创建了最简单的小部件,它由一个 div 和一个 class 组成。模板是;
<div class="simple" data-padding="false"></header>
对话框包含 1 个用于更改填充的复选框。
这个小部件工作正常,向上转换得很好,当您将鼠标悬停在它上面时,它周围会显示黄线。然而,双击它打开对话框是不可能的,没有任何反应,也没有控制台错误。我应该期望在 div 内双击应该打开对话框。
当第二个 div 被嵌套时,它被设置为可编辑并且一些填充被添加到主 div,可以双击两者之间的填充区域divs 打开对话框,当然这不是我想要的..
这里出了什么问题,这是一个错误吗?
我最初是通过给双击事件添加一个监听器解决的;
CKEDITOR.plugins.add('simple', {
init: function(editor) {
editor.on( 'doubleclick', function(e) {
var ClickedWidget = e.editor.widgets.widgetHoldingFocusedEditable;
if (ClickedWidget != null && ClickedWidget.name == 'simple') {
ClickedWidget.edit();
}
});
这很好用,但妨碍了在可编辑元素中选择文本。这也解释了为什么它是这样设置的。
因此,为了妥善解决这个问题,我创建了一个插件,该插件在右键单击小部件时显示上下文菜单,其中包含编辑和删除选项。我已经在 CKEditor 网站上提供了这个插件供其他人使用;