2020-11-06

解决vue-quill-editor在google、ie上按backspace键无效

在组件中给document注册keydown事件,如果是backspace键,则执行如下代码

	onEditorFocus () { // 聚焦事件
      this.listenBackSpace()
      // console.log('editor focus!', quill)
    },
    onEditorBlur () {
      console.log('bulr')
      document.removeEventListener('keydown', this.handleDelete, false)
      this.$emit('getRichContent', this.escapeStringHTML(this.content), this.name)
    },
	handleDelete (e) { // 处理键盘backspace事件
		const richRefsQuill = this.$refs[this.toref].quill
	      if (e.keyCode === 8) {
	      // 获取内容的最后位置
	        const leg = richRefsQuill.selection.savedRange.index
	        // 当按backspacd时删除最后一个字符
	        richRefsQuill.deleteText(leg - 1, 1);
	      }
      }
	listenBackSpace () {
	  	document.addEventListener('keydown', this.handleDelete, false)
	}
	mounted () { // mounte时注册事件
	    this.$refs[this.toref].quill.blur()
	  },
	  destroyed () { // 组件销毁时移除keydown事件
	    document.removeEventListener('keydown', this.handleDelete, false)
	  },
	```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值