听取按键在Quill.js中输入

时间:2018-02-13 20:55:55

标签: javascript quill

根据文档,Quill可以处理Enter键,但我无法使其正常工作。

我已按照其网站上列出的这些步骤进行操作:

  1. 导入键盘模块:const Keyboard = Quill.import('modules/keyboard'); Quill.js Extension import documentation.
  2. 添加名为键绑定的自定义事件。 Quill.js Key binding documentation
  3. 调用函数来处理事件。
  4. 我的代码如下:

    quill.keyboard.addBinding({ key: Keyboard.keys.ENTER, handler: function(range, context) { console.log('Enter Key!!!'); result.innerText = 'Key presset = ENTER'; } })

    Code example

    我在MacOS High Sierra 10.13.3上尝试过Chrome(最新版本)和Safari 11.0.3

2 个答案:

答案 0 :(得分:2)

不确定您是否需要Enter键或Space键,但是您在Keyboard module的右页上却错过了这个关键句:

  

key是JavaScript事件键代码,但字母数字键和一些常用键允许使用字符串缩写。

因此,您可以指定13或'输入'如果你的意思是Enter键,或者如果你的意思是空格键(遗憾的是没有Space键的快捷方式)。

即将推出的2.0版本(无公开时间轴)也将支持新版本更易于使用KeyboardEvent.key,但目前您应该使用keyCode

答案 1 :(得分:0)

此处介绍了如何防止Enter键将来冒泡。如果您要继续冒泡,则必须先放置处理程序,然后返回true

quillEditor.keyboard.bindings[13].unshift({
        key: 13,
        handler: (range, context) => {
            if (this.popupVisible) {
                return false;
            }
            return true;
        }
    });