CKEditor小部件双击打开对话框不起作用

时间:2017-06-21 08:51:05

标签: javascript widget ckeditor

我创建了一个最简单的小部件,它由一个带有类的div组成。模板是;

<div class="simple" data-padding="false"></header>

对话框包含1个用于更改填充的复选框。

这个小部件可以正常工作,很好地提升,当你将鼠标悬停在它上面时会显示黄色线条。但是不可能双击它来打开对话框,没有任何反应,也没有控制台错误。我希望在div中双击可以打开对话框。

当第二个div被嵌套时,设置为可编辑并且一些填充被添加到主div中,可以双击打开Dialog的两个div之间的填充区域,但是当然不是我想要的......

这里出了什么问题,这是一个错误吗?

1 个答案:

答案 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网站上提供了这个插件供其他人使用;

http://ckeditor.com/addon/widgetcontextmenu