我创建了一个最简单的小部件,它由一个带有类的div组成。模板是;
<div class="simple" data-padding="false"></header>
对话框包含1个用于更改填充的复选框。
这个小部件可以正常工作,很好地提升,当你将鼠标悬停在它上面时会显示黄色线条。但是不可能双击它来打开对话框,没有任何反应,也没有控制台错误。我希望在div中双击可以打开对话框。
当第二个div被嵌套时,设置为可编辑并且一些填充被添加到主div中,可以双击打开Dialog的两个div之间的填充区域,但是当然不是我想要的......
这里出了什么问题,这是一个错误吗?
答案 0 :(得分:1)
我最初通过为双击事件添加一个监听器来解决它;
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网站上提供了这个插件供其他人使用;