当用户在编辑器中单击某个元素时,如何在Ckeditor 5中侦听鼠标右键(上下文菜单激活)。
对于鼠标左键,我使用的ClickObserver效果很好,但ClickObserver似乎不适用于鼠标右键
答案 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事件的事件侦听器。
我希望这会有所帮助!