【发布时间】:2019-03-21 00:26:53
【问题描述】:
当用户单击编辑器中的元素时,如何在 Ckeditor 5 中侦听鼠标右键(上下文菜单激活)。
对于鼠标左键,我使用 ClickObserver 效果很好,但 ClickObserver 似乎不适用于鼠标右键
【问题讨论】:
标签: ckeditor5
当用户单击编辑器中的元素时,如何在 Ckeditor 5 中侦听鼠标右键(上下文菜单激活)。
对于鼠标左键,我使用 ClickObserver 效果很好,但 ClickObserver 似乎不适用于鼠标右键
【问题讨论】:
标签: ckeditor5
根据CKEditor migration document,CKEditor 5 中删除了上下文菜单选项,官方标准是使用contextualToolbar。
CKEditor 5 没有上下文菜单,上下文内联 工具栏更适合提供上下文操作。
更新:
我发现了一个你可以使用的 hack,但我不会推荐它,所以使用它,后果自负!
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 事件添加事件侦听器。
我希望这会有所帮助!
【讨论】: