在Ckeditor 5中监听鼠标右键(上下文菜单)

时间:2018-10-16 12:57:42

标签: ckeditor5

当用户在编辑器中单击某个元素时,如何在Ckeditor 5中侦听鼠标右键(上下文菜单激活)。

对于鼠标左键,我使用的ClickObserver效果很好,但ClickObserver似乎不适用于鼠标右键

1 个答案:

答案 0 :(得分:1)

根据CKEditor migration document,在CKEditor 5中删除了上下文菜单选项,并且官方标准是使用contextualToolbar

  

CKEditor 5没有上下文菜单,上下文内联   首选工具栏来提供上下文操作。

更新

我找到了可以使用的黑客,但我不建议这样做,因此由您自担风险使用它!

function onEditorMouseDown(evt) {
  if (evt.which == 3) {
    alert('You right clicked the editor!');
  }
}

var elem = document.querySelector('#editor1');
var cEditor = ClassicEditor
  .create(elem)
  .then(function(editor) {
    let container = editor.ui.view.editable.element;
    if (container) {
      container.addEventListener('mousedown', onEditorMouseDown);
    }
  })
  .catch(function(err) {
    console.error(err.stack);
  });
<script src="https://cdn.ckeditor.com/ckeditor5/11.1.1/classic/ckeditor.js"></script>
<h1>CKEditor 5 Example</h1>
<textarea id="editor1"></textarea>

说明:

我在这里要做的是在编辑器中查找可编辑区域,并在元素上添加mousedown事件的事件侦听器。

我希望这会有所帮助!