根据文档,Quill可以处理Enter键,但我无法使其正常工作。
我已按照其网站上列出的这些步骤进行操作:
const Keyboard = Quill.import('modules/keyboard');
Quill.js Extension import documentation. 我的代码如下:
quill.keyboard.addBinding({
key: Keyboard.keys.ENTER,
handler: function(range, context) {
console.log('Enter Key!!!');
result.innerText = 'Key presset = ENTER';
}
})
我在MacOS High Sierra 10.13.3上尝试过Chrome(最新版本)和Safari 11.0.3
答案 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;
}
});