2017-06-21 79 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