最近项目中发现个别Android手机中存在弹出的软键盘会遮挡输入框的现象,最后自己写了一个方法(如下),问题基本解决。

记录下来,防止忘记。有什么不对的地方欢迎指正。O(∩_∩)O

 1 //键盘适配
2 console.log(navigator.platform);
3 $('input ,textarea').focus(function() {
4 var keyString = navigator.platform.toLowerCase();
5 console.log('keyString =' + keyString);
6 if(!/iphone/.test(keyString)) {
7 console.log('keyString=' + keyString);
8 var bottom = $(this).offset().top + $(this).height() - $(window).height();
9 var space = bottom - $(document).scrollTop();
10 var spaceHeight = $(window).height() / 2.1; //画面移动距离
11
12 if(Math.abs(bottom) < spaceHeight) {
13 $('body').animate({
14 'padding-bottom': spaceHeight + 'px'
15 }, function() {
16 window.scrollTo(0, bottom + spaceHeight + 20);
17 });
18 } else {
19 if(Math.abs(space) < spaceHeight) {
20 $('body').animate({
21 'padding-bottom': spaceHeight + 'px'
22 }, function() {
23 window.scrollTo(0, bottom + spaceHeight);
24 });
25
26 } else {
27 $('body').animate({
28 'padding-bottom': fBodyBttom
29 });
30 }
31 }
32 }
33
34 });
35
36 $('input ,textarea').blur(function() {
37 $('body').animate({
38 'padding-bottom': fBodyBttom
39 });
40 });

钉钉开发笔记(5)android系统中html软键盘的适配的更多相关文章

  1. Android 笔记之 Android 系统架构

    Android笔记之Android系统架构 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: ...

  2. AIDL在android系统中的作用

    AIDL,Android Interface definition language的缩写,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口.最近看了下AIDL在A ...

  3. RP4412开发板在Android系统编译生成ramdisk-uboot.img

    荣品RP4412开发板在android系统编译的时候,怎么生成ramdisk-uboot.img生成流程分析: mkimage -A arm -O linux -T ramdisk -C none - ...

  4. Android系统中的6种模式

    Android系统中的6种模式 1:一般启动模式(normal mode):    功能是正常启动手机,方法为关机状态下按电源键启动. 2:安全模式(safe mode):    此模式和正常启动一样 ...

  5. [原创]Android系统中常用JAVA类源码浅析之HashMap

    由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ...

  6. Android系统中的广播(Broadcast)机制简要介绍和学习计划

    在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制:这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用:本文通过一个 ...

  7. Android系统中 setprop,getprop,watchprops命令的使用

    如:在frameworks/opt/net/ims/src/java/com/android/ims/ImsManager.java if (SystemProperties.get("pe ...

  8. 用adb pull命令从android系统中读取文件失败的原因及解决办法

    问题:使用adb pull命令从android系统中读取文件失败.显示:Permission denied   原因:是由于文件权限原因引起.       使用ls -l命令查看android系统中的 ...

  9. Android系统中的dp和px的转换

    android系统中DP和SP的转化:1.首先分析TypedValue.java 可以调用以下代码获得dp的值 TypedValue.applyDimension(TypedValue.COMPLEX ...

随机推荐

  1. bzoj 3158 千钧一发——网络流

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3158 发现偶数之间一定满足第二个条件:奇数之间一定满足第一个条件 ( \( (2m+1)^{ ...

  2. 通过Authentication Challenge来信任自签名Https证书

    在开发阶段我们我们经常使用自签名的证书来部署我们的后台rest api.但是在iOS中调用的时候就会因为证书不被信任而调用api不成功.这时候我们就需要通过实现某些网络回调函数来自定义证书的验证逻辑. ...

  3. python中format函数学习笔记

    简而言之,format函数就是用{}来代替之前的输出字符时使用的% print('my name is %s and I am %d years old' % ('porsche',23)) 下面详细 ...

  4. LINUX下多路径的介绍和安装配置(测试未写完)

    一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来 ...

  5. linux(7)

    第十七单元 Samba服务 [本节内容]1. 掌握samba的功能: samba是一个网络服务器,用于Linux和Windows之间共享文件.2. 掌握samba服务的启动.停止.重启service ...

  6. 数据库表数据传输到Oracle方案

    方案步骤为:数据导出到文件(增量或全量),通知接口文件就绪(上传到ftp或提供下载url),接收方下载文件,解析文件并入库.Oracle需要建立对应的临时表和正式表,入库步骤为:清空临时表,批量插入数 ...

  7. Django 组件-ModelForm

    ModelForm 组件功能就是把model和form组合起来. 首先导入ModelForm from django.forms import ModelForm 在视图函数中,定义一个类,比如就叫S ...

  8. Python文件操作,with open as追加文本内容实例

    最常见的读写操作 import re with open('/Users/Mr.Long/Desktop/data.txt', 'w') as f: f.write('hello world') 就这 ...

  9. common-lang3-version.jar 提供java.lang的扩展功能

    Apache Commons Lang 3.6 API

  10. Linut ssh sftp服务重启

    在网上,收了半天,终于找到这个,记录一下~哈~ RedHat Linux 重启SSH /etc/init.d/sshd restart 重启SFTP /etc/init.d/vsftpd restar ...