在Ckeditor插件中输入字母

Get entered letter in Ckeditor plugin

本文关键字:输入 Ckeditor 插件      更新时间:2023-09-26

我正在尝试为ckeditor构建一个提及插件,我开始使用此代码

CKEDITOR.plugins.add('mention', {
    init: function (editor) {
        editor.on('key', function (event) {
            console.log(String.fromCharCode(event.data.keyCode));
        });
    }
});

问题是keyCode属性在获取输入的字母时不能给出准确的结果。

是否有更好的方法来准确获取输入的字母相对于语言?

我没有找到任何解决这个问题的好办法,最后我使用了at .js jquery插件与ckeditor的提及功能,所以我留下这个答案作为未来的参考,任何人谁需要实现与ckeditor的提及功能。

很抱歉地说,但没有完美的方法这样做,而关键是按下(在keydown)。处理键入是极其困难的,由浏览器和操作系统处理,因为即使使用KeyboardEvent.key(尚未广泛实现),您也需要考虑字符组合(多个键事件组合成一个字符)。

如果您可以在插入字母后获取该字母,则可以从编辑器中获取选择并查找前一个字母。