混合app 解决常见bug弹出键盘返回出现闪屏
前言
在我们开发混合app中,我们会发现一个问题,那就是比如我们正在输入信息的时候,然后我们按导航的返回键返回,因为切页面和回收键盘是同时的,给人一种闪屏的感觉,那么怎么解决呢?
方案
以ionic为例子:
设置一个变量监听当前是否键盘弹出。
showKeyboard: boolean = false;
这时候呢,如果判断键盘为true的话就不返回。
this.getNavBar().backButtonClick = (e) => {
      if (that.showKeyboard) {
        return false;
      } else {
        //返回
        that.nav.pop();
      }
    }
在此解释一下合理性,为什么不返回为合理呢?这时候键盘弹出,按理说就应该点击其他地方让它失去焦点,而不是转移焦点。
那么我们需要些键盘监听事件:
 window.addEventListener('keyboardWillShow', this.keyboardShowCallback.bind(this));
 window.addEventListener('keyboardWillHide', this.keyboardHideCallback.bind(this));
  keyboardShowCallback() {
    this.showKeyboard = true;
  }
  keyboardHideCallback() {
    var that=this;
    setTimeout(()=>{
      that.showKeyboard=false;
    },500);
  }
这样可以达到理想效果。
混合app 解决常见bug弹出键盘返回出现闪屏的更多相关文章
- mui搜索框在ios平台上点击多次才弹出键盘的解决方法
		
今天使用Hbuilder调试手机端时,发现搜索框在安卓系统下,点击一次就可以弹出键盘 但是在iso下非常的不规律,要点击多次 代码实现如下: <div class="mui-input ...
 - 【小贴士】zepto find元素以及ios弹出键盘可能让你很头疼
		
前言 在此,我不得不说移动端的兼容问题很多,并且很令人头疼,这不,这个星期又有两个让我逮着了,一个是使用zepto过程中出现的问题,一个是ios虚拟键盘的问题 我这里做一次记录,以免以后忘了,同时希望 ...
 - ios兼容 input输入时弹出键盘框 页面整体上移键盘框消失后在ios上页面不能回弹的问题
		
前端h5混合开发手机端ios 当有input输入时,手机下方弹出键盘使页面上移,当输入完成,键盘消失后页面显示回到原位,但实际不能点击(可点击上方区域,有反应),也就是说实际是没有回弹. 解决办法: ...
 - [调整] Firemonkey TEdit 避免按下立即弹出键盘的问题
		
目前 Firemonkey 有一个问题,就是在 Edit 按下会立即弹出键盘,在红鱼儿的博客也提交了 QC: http://blog.sina.com.cn/s/blog_44fa172f0102vy ...
 - IOS开发之自定义系统弹出键盘上方的view(转载)
		
这篇文章解决的一个开发中的实际问题就是:当弹出键盘时,自定义键盘上方的view.目前就我的经验来看,有两种解决方法.一个就是利用UITextField或者UITextView的inputAccesso ...
 - 关于UITextfield弹出键盘解决方案
		
解决的问题:当你点击一个UITextfield时,不想让其弹出键盘,如果你觉得不就是取消其第一响应者嘛,resignRespond一下不就行了嘛,确实,如果你只是在其编辑完成后让其键盘消失,那这个就够 ...
 - fullpage插件在移动端弹出键盘页面特殊处理
		
fullpage插件大家都很熟悉 jquery一款全屏上下滑动的插件. 最近做公司一个活动移动端使用fullpage插件填写input的时候遇见一个问题,手机自带的键盘弹出的时候会把页面顶出去,页面错 ...
 - 移动端点击输入框,弹出键盘,底部被顶起问题(vue)
		
这个问题相信做移动端开发的童鞋会有深刻体会,以前用jq开发时就很头疼这个问题,每次底部footer部分需要用position:fixed,如果页面内容不是很长,没有超出屏幕范围,那就还好,没有问题:一 ...
 - Flutter 弹出键盘屏幕溢出问题
		
在使用输入框获取焦点,弹出键盘的时候,会导致屏幕溢出, 解决办法: resizeToAvoidBottomPadding: false, //输入框抵住键盘 return Scaffold( appB ...
 - (Vue)移动端点击输入框,弹出键盘,底部被顶起问题
		
(Vue)移动端点击输入框,弹出键盘,底部被顶起问题:https://www.jianshu.com/p/210fbc846544 问题描述:Vue开发中,当我们相对于父视图的底部布局子控件时,需要用 ...
 
随机推荐
- [笔记]git pull vs git pull --rebase
			
git pull vs git pull -rebase 背景 最近在实际开发过程,之前一直使用git pull 去更新该分支的代码,之前认为一旦pull 操作产生新的节点是对合并操作的一个记录,但是 ...
 - AT_abc342_d 题解
			
UD 2024/2/24 22:36 感谢 Lixiang_is_potato 指出一处笔误. 本文同步发表于洛谷. 赛时挂了,但是赛后 3min AC,我是飞舞. 题意 给你一个长度为 \(N\) ...
 - vite ts 安装 js-cookie 库,vscode找不到类型说明(有波浪线),解决方案
			
vite ts 安装 js-cookie 库,vscode找不到类型说明(有波浪线),解决方案 先安装库 https://www.npmjs.com/package/js-cookie 再安装类型 h ...
 - 摆脱鼠标系列 vscode 向右拆分编辑器 ctrl + 右箭头
			
摆脱鼠标系列 vscode 向右拆分编辑器 ctrl + 右箭头 为什么 今天看见一个两栏工作的,左侧放的是目录大纲,右侧是代码内容 用快捷键 ctrl + 右箭头 快速扩展一个,关闭可以ctrl + ...
 - 网关接口映射项目 前端 nestjs 项目名称 tf-gateway-http-proxy 改Nginx了
			
需求 前端 需要连接后台地址,每次换别人联调都要修改,好几个项目的时候,就要改好几个 关键每次git提交 还会显示文件修改了 强迫症患者 表示 忍不了 群里有人给了个脚本 有时间可以替换nginx h ...
 - vscode 格式化 vue 等文件的 配置 eslint vetur prettier Beautify
			
需求 自动格式化需求 多行回车 合并一行,去分号 最后一个逗号,自动删除,符合eslint 结果 虽然能用了,但是 百度好几个方案,也不知道哪个对哪个,太忙没时间弄了. 配置文件记录 eslint 得 ...
 - Centos挂在U盘的时候无法挂载
			
网上的教学视频大部分全是以centos为教材底子--没办法更换系统了,这样方便麻! 我参考的文章: https://blog.csdn.net/shengjie87/article/details/1 ...
 - vmware虚拟机共享文件夹显示不出来的解决办法
			
今天在虚拟机里部署测试环境时,遇到一个问题,就是在vmware设置里明明共享了文件夹,但是在CentOS里却看不到共享的文件夹 环境 宿主机:MacBook Pro 虚拟机:vmware 15 虚拟机 ...
 - 【732. 我的日程安排表 III】差分数组
			
class MyCalendarThree { private TreeMap<Integer, Integer> cnt; public MyCalendarThree() { cnt ...
 - vue基础知识和原理(二)
			
1.13 列表渲染 v-for指令 用于展示列表数据 语法:v-for="(item, index) in xxx" :key="yyy" 可遍历:数组.对象. ...