安卓H5软键盘遮挡输入框

<div class="label">
                    *
                    <span><?php echo lang(‘receive_email_info‘); ?></span>
                    <input class="r-email" type="text" placeholder="<?php echo lang(‘please_in_receive_email‘); ?>3333">
                </div>
                <div class="label">
                    *
                    <span><?php echo lang(‘alipay_binding_vcode‘); ?></span>
                    <input class="r-code" type="text" placeholder="<?php echo lang(‘please_input_code‘); ?>">
                    <input type=‘button‘ class="get-code2" value=‘<?php echo lang(‘get_captcha‘); ?>‘>
                </div>
var isredundant = false;
        $(‘.r-email,.r-code‘).on(‘blur‘, function(){
                setTimeout(function(){
                    if (isredundant) {
                        isredundant = false;
                    }else{
                        $(‘.redundant_div‘).css(‘display‘) = ‘none‘
                    }
                }, 100)
        })
        $(‘input[type="text"],textarea‘).on(‘focus‘, function () {
            if ($(this).attr(‘class‘) == ‘r-email‘ || $(this).attr(‘class‘) == ‘r-code‘) {
                if ($(‘.redundant_div‘).length > 0) {
                    alert($(‘.redundant_div‘).css(‘display‘) == ‘none‘)
                    if (!$(‘.redundant_div‘).css(‘display‘) == ‘none‘) {
                        alert(12314)
                        isredundant = true;
                    }
                    setTimeout(function(){
                        $(‘.redundant_div‘).css(‘display‘) = ‘block‘
                    },150)
                }else{
                    $(‘.personal-data‘).append(‘<div class="redundant_div" style="width: 100%;height: 200px;background:blue;"></div>‘)
                    setTimeout(function(){
                        $(‘.redundant_div‘).css(‘display‘) = ‘block‘
                    },150)
                }
            }
            setTimeout(function(){
                    // if (target.scrollIntoViewIfNeeded) {
                    //     target.scrollIntoViewIfNeeded();
                    // }

                    if(‘scrollIntoView‘ in document.activeElement) {
                        document.activeElement.scrollIntoView();
                    } else {
                        document.activeElement.scrollIntoViewIfNeeded();
                    }
            },400);
        });

因为一些安卓中的H5软键盘会遮挡输入框

1.

scrollIntoView可以让被遮挡的元素展示在可视区域2.如果input是在页面最下方,并且下方没多余空位可以滚动时,手动插入空白元素站位再使用
scrollIntoView进行元素位置处理

原文地址:https://www.cnblogs.com/lichuntian/p/9457736.html

时间: 2024-08-25 15:41:25

安卓H5软键盘遮挡输入框的相关文章

LinearLayout详解四:彻底解决软键盘遮挡输入框的问题

之前把预备知识都介绍完了,话说学以致用,接下来我们要通过重载LinearLayout类来解决软键盘覆盖的问题. 首先阐述一下这个问题,如下图所示: 然后看挡住输入框的情况 然后我们给出xml的源代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:lay

#h5软键盘兼容方案

h5软键盘兼容方案 本人在做公司项目的时候,在h5上调用键盘,发现了许多问题,主要问题总结如下 1.在 Android 和 IOS 上,键盘弹出收起在页面 webview 里表现不同. // 判断设备类型 var judgeDeviceType = function () { var ua = window.navigator.userAgent.toLocaleLowerCase(); var isIOS = /iphone|ipad|ipod/.test(ua); var isAndroid

Android爬坑之旅:软键盘挡住输入框问题的终极解决方案

前言 开发做得久了,总免不了会遇到各种坑.而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑--来来来,我们慢慢看. 入门篇 Base 最基本的情况,如图所示:在页面底部有一个EditText,如果不做任何处理,那么在软键盘弹出的时候,就有可能会挡住EditText.对于这种情况的处理其实很简单,只需要在AndroidManifest文件中对activity设置:android:windowSoftInputMode的值adjustPan或者adjustResi

Android软键盘遮挡的四种解决方案

问题概述 在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图: 输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示: 输入密码时输入框被系统键盘遮挡了,大大降低了用户操作体验,这就是开发中非常常见的软键盘遮挡的问题,该如何解决? 简单解决方案  方法一 在你的activity中的oncreate中setContentView之前写上这个代码 getWindow().setSoftInputMode(WindowManager.L

软键盘遮挡解决方案

在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图: 输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示: 输入密码时输入框被系统键盘遮挡了,大大降低了用户操作体验 这就是开发中非常常见的软键盘遮挡的问题,该如何解决? 解决方案: 方法一:在你的activity中的oncreate中setContentView之前写上这个代码 1 getWindow().setSoftInputMode(WindowManager.Layout

软键盘挡住输入框的解决方案

大家在布局时候,有时候会发现输入框被挡住一部分,能完全显示出来,但是系统自带短信界面 可以完全漂浮在软键盘之上,看了一下短信源码,修改一下输入模式就可以了,源码如下 代码方式:  getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |                 WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);   xml方式:

iOS- UITextView与键盘回收与键盘遮挡输入框

一.UITextView 可以实现多行输入的文本框,基本属性与UITextField相似,可以输入多行,可以滚动.UITextView还有个代理方式- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 可以控制输入文字的数量,较为常用 #pragma mark UITextView的代理方法 //是否可以开始编辑 - (BOOL

React-native键盘遮挡输入框问题的解决

RN中要解决键盘遮挡输入框的问题其实有挺多方式,在这里只是记录其中的一些个人实际开发中使用到的. 方式一.使用scrollTo方法,这也是最简单最粗暴的,只是需要计算scrollview滚动的距离,并且处理一些体验的bug问题.大致思路是:组件render方法中使用scrollview,并且设置scrollview的keyboardShouldPersistTaps={true}(此步一定不能少,如果缺少该属性,接下来的一步将会不起作用),然后在scrollview中用一个view作为conta

iOS键盘遮挡输入框,输入区域自动上移

在iOS开发过程当中,遇到关于键盘遮挡输入框的问题,经过网络参考与实践,总结如下: 登录窗口,上下放置两个UITextField,一个用户名,一个密码,放置的在屏幕下方1/3处,当点击用户名时,自动弹出键盘,正好挡住了输入框 解决思路: 1.BLoginViewController 实现UITextViewDelegate的方法 1 //实现了UITextFieldDelegate中的方法,当对TextField进行编辑即键盘弹出时,自动将输入框上移 2 -(BOOL)textFieldShou