iOS用contenteditable滚动时,光标不会刷新定位的处理方法

Posted _NKi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS用contenteditable滚动时,光标不会刷新定位的处理方法相关的知识,希望对你有一定的参考价值。

分析

ios的 wkwebview 在滚动时会暂停许多动画,作为优化

解决思路

监听滚动事件,利用文档重绘即可刷新动画
ps:因为滚动有惯性,touchmove事件只能监听到手指松开的那一刻,所以只能监听滚动事件

解决方法

// html
<div class="refresher"></div>

// js
const node = document.querySelector('.refresher')
domNode.addEventListener('scroll', e => {
    requestAnimationFrame(() => {
        node.style.boxShadow = node.style.boxShadow ? '' : 'rgba(0,0,0,0) 0 0 0'
    })
})  

以上是关于iOS用contenteditable滚动时,光标不会刷新定位的处理方法的主要内容,如果未能解决你的问题,请参考以下文章

Contenteditable div在离子iOS应用中不可编辑

div contenteditable 重新编辑时focus光标定位到前面问题解决

重要重要如何在div是contentEditable=true的里面获取光标的位置,并在光标位置处插入内容。焦点位置插入指定内容

获取contenteditable区域光标所在位置信息

在 contenteditable 中,Chrome 上未显示编辑光标

如何修复光标在 Android Chrome 上的内联 contenteditable 中跳转?