钉钉开发笔记(5)android系统中html软键盘的适配
最近项目中发现个别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软键盘的适配的更多相关文章
- Android 笔记之 Android 系统架构
Android笔记之Android系统架构 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: ...
- AIDL在android系统中的作用
AIDL,Android Interface definition language的缩写,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口.最近看了下AIDL在A ...
- RP4412开发板在Android系统编译生成ramdisk-uboot.img
荣品RP4412开发板在android系统编译的时候,怎么生成ramdisk-uboot.img生成流程分析: mkimage -A arm -O linux -T ramdisk -C none - ...
- Android系统中的6种模式
Android系统中的6种模式 1:一般启动模式(normal mode): 功能是正常启动手机,方法为关机状态下按电源键启动. 2:安全模式(safe mode): 此模式和正常启动一样 ...
- [原创]Android系统中常用JAVA类源码浅析之HashMap
由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ...
- Android系统中的广播(Broadcast)机制简要介绍和学习计划
在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制:这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用:本文通过一个 ...
- Android系统中 setprop,getprop,watchprops命令的使用
如:在frameworks/opt/net/ims/src/java/com/android/ims/ImsManager.java if (SystemProperties.get("pe ...
- 用adb pull命令从android系统中读取文件失败的原因及解决办法
问题:使用adb pull命令从android系统中读取文件失败.显示:Permission denied 原因:是由于文件权限原因引起. 使用ls -l命令查看android系统中的 ...
- Android系统中的dp和px的转换
android系统中DP和SP的转化:1.首先分析TypedValue.java 可以调用以下代码获得dp的值 TypedValue.applyDimension(TypedValue.COMPLEX ...
随机推荐
- Python WebServer with MSSql
今天尝试了一下在windows上用python来写web服务 我的环境是 win7(64位)+ python(2.7.11) 第一步需要安装pymssql 第二步需要安装tornado(web服务靠他 ...
- java 类加载器体系结构
- laravel的中间件demo
过滤器已经被废除...刚学才两天,蛋疼 创建一个中间件 ./artisan make:middleware TestMiddleware 大概代码 <?php namespace App\Htt ...
- 贴一段demo代码,演示channel之间的同步
package main import ( "fmt" "time" ) func deskGoRoutine(index int, userChannel c ...
- GOF23设计模式之装饰模式(decorator)
一.装饰模式概述 (1)动态的为一个对象增加新的功能. (2)装饰模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能. 使用对象的关联关系代替继承关系,更加灵活,同时避免类型体 ...
- RTMP(实时信息传输协议)详解
RTMP协议是Real Time Message Protocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing) ...
- java代码--------实现位运算符不用乘除法啊
总结:<<:乘法 >>:除法 package com.mmm; public class dfd { public static void main(String[] args ...
- json用法常见错误
Json用法三个常见错误 net.sf.json.JSONException: java.lang.NoSuchMethodException
- sql,groupby以后取每组前三行
--> 生成测试数据: #TIF OBJECT_ID('tempdb.dbo.#T') IS NOT NULL DROP TABLE #T CREATE TABLE #T (ID VARCHAR ...
- 3d标签云(JS版)
http://www.miaov.com/miaov_demo/3dLable/miaov_demo.html http://www.lijian.net/p/windstagball/index.h ...