this.quill.getSelection()为空!
我要把我们的问答模块改成同学们向编辑器里粘贴图片,自动上传的功能。
拦截到粘贴以后,需要调用上传!
调用完上传以后,再向某个地方插入,这个时候需要拿到selection的index
可是selection为空!
let cursorLocation = this.quill.selection.savedRange.index;
添加粘贴监听
this.quill.root.addEventListener('paste', this.handleContentPaste, false);
处理监听内容,如查是file,并且是图片的话,那么
handleContentPaste(evt) {
if (evt.clipboardData && evt.clipboardData.files && evt.clipboardData.files.length) {
evt.preventDefault();
[].forEach.call(evt.clipboardData.files, file => {
if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) {
return;
//调用上传方法
const resetUploader = function () {
var uploader = document.getElementById("file-upload");
uploader.value = "";
let cursorLocation = this.quill.selection.savedRange.index;
//console.log(cursorLocation);
this.$emit("image-added", file, this.quill, cursorLocation, resetUploader);
console.log('handleContentPaste...');
然后就由外部去处理图片的上传了。
原创发布于
,未经作者授权,禁止转载
评论