2017-06-21 68 views
1

我创建了最简单的小部件,它由一个单独的div与一个类组成。该模板是;CKEditor小部件双击打开对话框不起作用

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

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

此小部件工作正常,很好地上传,当你将鼠标悬停在它上面时,显示它周围的黄线。然而,双击它打开对话框是不可能的,没有任何反应,也没有控制台错误。我应该期望在div内双击应该打开对话框。

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

这里有什么问题,这是一个错误?

回答

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