类似typora的ctrl 1、ctrl 2等分级标题的功能,以及自定义插入图片的行为,之前使用toastui-editor可以通过下述方式实现
// 自定义粘贴图片(拦截ctrl+V粘贴图片事件)
this.editor.eventEmitter.removeEventHandler('addImageBlobHook');
this.editor.eventEmitter.listen('addImageBlobHook', (file, callback) => {
let formData = new FormData();
formData.append('file', file);
ajaxPostFile('/api/file/uploadTypora', formData, function (d) {
callback(d);
})
});
// 自定义快捷键
document.addEventListener('keydown', function (event) {
let keys = ['1', '2', '3', '4', '5', '6', '0']
if (event.ctrlKey) {
// 标题
if (keys.contains(event.key)) {
event.preventDefault();
that.editor.exec('heading', {
level: eval(event.key)
});
that.triggerOnTabClick();
}
// 代码块 code block
else if (event.key === '/') {
event.preventDefault();
that.editor.exec('codeBlock');
}
}
})
类似typora的ctrl 1、ctrl 2等分级标题的功能,以及自定义插入图片的行为,之前使用toastui-editor可以通过下述方式实现
// 自定义粘贴图片(拦截ctrl+V粘贴图片事件)
this.editor.eventEmitter.removeEventHandler('addImageBlobHook');
this.editor.eventEmitter.listen('addImageBlobHook', (file, callback) => {
let formData = new FormData();
formData.append('file', file);
ajaxPostFile('/api/file/uploadTypora', formData, function (d) {
callback(d);
})
});
// 自定义快捷键
document.addEventListener('keydown', function (event) {
let keys = ['1', '2', '3', '4', '5', '6', '0']
if (event.ctrlKey) {
// 标题
if (keys.contains(event.key)) {
event.preventDefault();
that.editor.exec('heading', {
level: eval(event.key)
});
that.triggerOnTabClick();
}
// 代码块 code block
else if (event.key === '/') {
event.preventDefault();
that.editor.exec('codeBlock');
}
}
})