vue VUX 移动端IOS H5 input键盘弹起页面被顶起,键盘'完成'收起后无法恢复正常,页面button错位导致无法触发

本文主要是介绍vue VUX 移动端IOS H5 input键盘弹起页面被顶起,键盘'完成'收起后无法恢复正常,页面button错位导致无法触发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

描述:H5 页面使用vue,vux 中的x-dialog 组件开发了一个可以编辑的页面,点击编辑按钮x-dialog 出现并进行数据编辑
x-dialog
遇到的问题:在微信浏览器中进行编辑时Ios 键盘弹起会把页面向上顶起,然后键盘’完成’隐藏后页面没有复位,确认变更 按钮这时是错位的无法触发。
特别备注:IOS 自带浏览器,安卓自带浏览器(包括华为),安卓微信浏览器都没有此问题

解决办法:在mounted 中添加以下代码

mounted () {const u = navigator.userAgentconst isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)// 如果是IOS设备if (isiOS) {let flag = falselet pageBackNormFunc// 聚焦后,键盘弹起document.body.addEventListener('focusin', () => {flag = truepageBackNormFunc && clearTimeout(pageBackNormFunc)})// 失焦后,键盘关闭document.body.addEventListener('focusout', () => {if (flag) {// 页面滚动回原来的位置pageBackNormFunc = setTimeout(() => {window.scrollTo({ top: 0, left: 0, behavior: 'smooth' })}, 200)}flag = false})}},

问题解决了!

这篇关于vue VUX 移动端IOS H5 input键盘弹起页面被顶起,键盘'完成'收起后无法恢复正常,页面button错位导致无法触发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/436691

相关文章

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在