当前位置:网站首页 > React Native移动开发 > 正文

移动端拉起键盘后遮挡问题

一,问题

移动端,点击input时,部分安卓手机拉起键盘后,会遮挡住input。

二,解决

// 初始化完成后,需要监听键盘的调起 function keyWorld() { 
    window.addEventListener('resize', () => { 
    onFocusAddr(); }); } // 判断是否是安卓还是ios function isAndroid() { 
    let u = navigator.userAgent; let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; // android终端或者uc浏览器 return isAndroid === true; } // 安卓键盘遮挡输入 function onFocusAddr() { 
    if (!isAndroid()) return; // 判断是否是安卓机 nextTick(() => { 
    let inputDom = myInputRef.value.$el ? myInputRef.value.$el : myInputRef.value; // 获取根节点 let boxScrollTop = document.body.scrollTop || document.documentElement.scrollTop; let inputRectObject = inputDom.getBoundingClientRect(); let btnRectObject = myBtnRef.value.getBoundingClientRect(); let distanse = inputRectObject.top + inputDom.offsetHeight - btnRectObject.top; if (distanse >= 0 && distanse < 120) { 
    console.log( '两者距离视窗顶部距离之差,大于零则被遮盖,需要上滑', distanse * 2 ); window.scrollTo({ 
    top: boxScrollTop + distanse * 2, behavior: 'smooth' }); } }); // 键盘拉起的延迟时间 } 

即在键盘拉起之后,判断input会不会被遮挡,遮挡了就控制滚动条滑动到不遮挡的位置。

到此这篇移动端拉起键盘后遮挡问题的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 移动端1px问题的解决2024-11-28 18:54:04
  • react-native报错:getPropertyAsObject: property2024-11-28 18:54:04
  • 运行react ntive项目,运行到下载gradle就报错2024-11-28 18:54:04
  • 绘制一个可以移动的矩形,当矩形碰到屏幕边界时,矩形都将会改变颜色2024-11-28 18:54:04
  • 深度分析:React Native、Flutter、UniApp、Taro、Vue的差异_reactnative和uniapp2024-11-28 18:54:04
  • 移动端左右滑动时,屏蔽上下滑动2024-11-28 18:54:04
  • 移动端的h5遇到的一些坑记录2024-11-28 18:54:04
  • react基础笔记2024-11-28 18:54:04
  • 4.React全家桶及原理解析2024-11-28 18:54:04
  • 3.React组件化22024-11-28 18:54:04
  • 全屏图片