ckeditor光标定位到正文之后,多次enter键之后,编辑器的默认样式消失

1.分析造成此次的原因是光标并没有定位到编辑器真正的最内层样式里面

2.所以这时候找到最内层样式,给他加上一个id="joinf-focus-flag"

3.然后在编辑器初始化完成时候找到这个id,然后把光标定位到这个id里面,多次enter的时候才不会导致样式消失

let newRange = this.editor.createRange()
let timer = setInterval(()=>{
  const el = this.editor.document.findOne(`[id=joinf-focus-flag]`)
  if(el){
    const sel = this.editor.getSelection()
    let before = el.getChildren().getItem(0)
    sel.selectElement(el)     
    let startOffset = newRange.startOffset                  
    newRange.setStart(before, startOffset)
    newRange.setEnd(before, startOffset)
    sel.selectRanges([newRange])
    this.editor.focus();
    clearInterval(timer)
  }
},100)

ps:这里用定时器是因为我们这里是父子级嵌套,无法确定编辑器什么时候渲染完成,只能这么操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值