首页 > 其他分享 >VUE:quill修改默认拷贝图片base64的行为--富文本复制图片变成上传

VUE:quill修改默认拷贝图片base64的行为--富文本复制图片变成上传

时间:2024-11-23 21:34:09浏览次数:8  
标签:VUE -- 默认 let clipboardData 拷贝 event quill 图片

富文本quill 1.3.7 实现: 

        window.addEventListener('paste', (event) => {
        if (event.clipboardData && event.clipboardData?.files && event.clipboardData.files?.length) {
          // 阻止默认拷贝事件
          event.preventDefault()
          let curFile = event.clipboardData.files[0]
          if (!this.handleBeforeUpload(curFile)) {
            return
          }
          let formData = new FormData()
          formData.append('file', curFile)
          uploadFile(formData)
            .then((rs) => {
              let quill = this.Quill
              // 光标位置
              let postion = quill.selection.savedRange.index
              // 将图片地址插入富文本光标后
              quill.insertEmbed(postion, 'image', rs.path)
              // 光标后移
              quill.setSelection(postion + 1)
            })
            .catch((error) => {
              this.$message.error('图片插入失败')
            })
        }
      })

补充内容:

1、拷贝是触发的哪些对象的事件:window对象 打开F12,Source->右侧找到Event Listener Breakpoints Clipboard下勾选paste等剪贴板事件,Ctrl+V时,可以进入debug 2、window添加拷贝事件后,为啥会出发两次 一次是自己定义的,一次是默认行为 需要添加:event.preventDefault(),阻止默认处理。

标签:VUE,--,默认,let,clipboardData,拷贝,event,quill,图片
From: https://www.cnblogs.com/leonlipfsj/p/18551462

相关文章

  • 【前端知识】JS实现异步编程
    JS异步编程一、JS异步编程的背景和重要性二、JS异步编程的实现方式三、JS异步编程的示例四、JS异步编程中的错误处理五、JS异步编程的优势JS异步编程是一种编程范式,它允许程序在等待某些操作完成(如I/O操作、网络请求等)时,不必阻塞当前执行线程,而是可以继续执行其他任......
  • vue响应式基础
    用data选项来声明组件的响应式状态。此选项的值应为返回一个对象的函数。此对象的所有顶层属性都会被代理到当前组件实例(即方法和生命周期钩子中的this)上Vue在组件实例上暴露的内置API使用$作为前缀。它同时也为内部属性保留_前缀。因此,你应该避免在顶层data上使......
  • 【Vue2】利用组件递归方式实现目录树组件
    前言    看到最近一些公司前端笔试题,发现他们都很喜欢考察递归。这使我不得不想到在前端开发中,也会遇到的一些需要利用递归思想实现的一些场景,如目录树组件,大多数前端开发经常参与流水型业务,对组件递归的场景用之较少。以下为作者根据实践,分享递归组件实现目录树的设......
  • [USACO03Open] Lost Cows
    题目Description有 NN 头奶牛,已知它们的编号为 1∼N1∼N 且各不相同,但不知道每头奶牛的具体编号。现在这 NN 头奶牛站成一列,已知第 ii 头奶牛前面有 aiai​ 头牛编号小于它,求每头奶牛的编号。Input第 11 行,输入一个整数 NN第 2...N2...N 行,每行输入一个......
  • MySQL UPDATE语句执行链路解析
    文章目录引言1.总览:UPDATE语句的执行链路2.客户端发起请求2.1SQL请求的形成2.2MySQL通信协议3.连接器模块3.1连接管3.2会话上下文4.SQL解析器4.1语法解析4.2语法错误处理5.查询优化器5.1查询优化的核心概念5.2优化器生成执行计划的步骤5.3优化器常见挑......
  • 1123模拟赛
    \(T1\),注意点与边不同阶时分着开,别开小了。\(T2\)当dp数组由于太大开不下时,可以用记忆化搜索代替。最长不公共子序列:首先可推出\(f[i][j]=min(f[i-1][j],f[i][j-1])(a[i]==b[j]),f[i-1][j-1]+1(a[i]!=b[j])\),由于一段连续的\(a[i]!=b[j]\)可以一下全消掉,所以可以看一个\(a[i]......
  • 两个有序数组合并
    #include<stdio.h>intmain(){intm;scanf("%d",&m);inta[m];for(inti=0;i<m;i++){scanf("%d",&a[i]);}intn;scanf("%d",&n);intb[n];for(inti=0;i&l......
  • 基于STM32的人体健康管理系统Proteus仿真+源码
    一、功能介绍1.心率实时检测,心率数值显示在LCD1602屏幕上2.利用超声波测量身高,显示在LCD1602屏幕上3.通过ADC读取体重,通过计算BMI指数,给出肥胖指数,显示在LCD1602屏幕上4.DS1302读取年月日和实时时间,显示在LCD1602屏幕上5.心率阈值可以通过按键修改,DS1302的年月日和时间......
  • 基于SpringBoot+Vue的大学生就业信息管理系统的设计与实现(源码+lw+部署+讲解)
    文章目录1.前言2.详细视频演示3.具体实现截图4.技术可行性分析5.技术简介5.1后端框架SpringBoot5.2前端框架Vue5.3系统开发平台6.系统架构设计7.程序操作流程8.业务流程设计9.为什么选择我们9.1自己的公众号9.2海量实战案例10.代码参考11.数据库参考12.源码及文档获取......
  • MySQL Join 的原理与优化实践
    文章目录引言一、基础准备:创建环境与示例数据1.初始化示例表2.示例Join查询3.EXPLAIN输出分析二、MySQLJoin的核心算法与执行机制1.三种Join算法的实现与原理1.1IndexNested-LoopJoin(INLJ)1.2SimpleNested-LoopJoin(SNLJ)1.3BlockNested-LoopJoin(BNLJ)......