Quill编辑器中监听Enter按键事件绑定不生效如何解决
问题原因
Quill 内置了默认的enter按键绑定,你写的自定义绑定有两个问题导致触发失败:
- 没有指定优先级,默认优先级低于Quill内置绑定,按键事件会被内置绑定先拦截消费
- 用
enter作为绑定的key时,和Quill内置的Enter绑定key重名,你的配置会被内置规则直接覆盖
解决方法
给自定义绑定添加高于内置规则的优先级,同时避免和内置绑定重名即可。Quill内置绑定的默认优先级为0,你只要设置优先级大于0即可。如果需要完全屏蔽Quill默认的Enter换行行为,在handler函数最后返回false即可。
正确代码示例
const bindings = {} // 自定义Enter绑定,不要用enter作为key名 bindings.handleCustomEnter = { key: 13, priority: 100, // 优先级高于内置绑定 handler: () => { console.log(45656); // 不需要默认换行行为就打开下面的注释 // return false }, }; // 初始化编辑器 const editor = new Quill(selector, { theme: 'snow', modules: { keyboard: { bindings } } })
内容的提问来源于stack exchange,提问作者Кирилл Голубев
相关产品推荐
相关产品推荐

