美文网首页
移动端调用软键盘时,上方出现自定义的view

移动端调用软键盘时,上方出现自定义的view

作者: 托天王的塔 | 来源:发表于2018-10-16 16:42 被阅读0次

定义一个假的input框,

<input id="footerInput" type="text" placeholder="请收入" onfocus="this.blur();">

定义一个你想显示的view并隐藏

<div class="InputView">

<form name='loginForm'>

<input id="ViewInput" name="user" type="text" placeholder="请收入">

</form>

<p>发送</p>

</div>

css:.

InputView{

position:fixed;

bottom:50px;

background:#fff;

height:74px;

width:100%;

display:none;

}

.InputView input{

border:#fff;

background:#b9b6b6;

height:30px;

border-radius:20px;

margin-top:10px;

margin-left:28px;

padding-left:10px;

width:232px;

border:none;

/* border: 2px solid #2e9aff; */

    outline:none;

}

.InputView form{

display:inline-block;

}

.InputView p{

display:inline-block;

color:#9a9696;

vertical-align:middle;

}

.oc{

color:red!important;

}

点击时,执行以下逻辑

1.显示真的input

2.自动获取焦点

3.页面加载时判断一下页面高度,软键盘显示时,判断一下页面高度,高度差就是软键盘的高度,把值赋值给自定义view的定位即可

js:

$(function(){

var innerHeight =window.innerHeight;

});

// 底部发表评论部分

 $('#footerInput').click(function(){

console.log(innerHeight);

$('.InputView').show();

$('#ViewInput').focus();

var innerHeightTwo =window.innerHeight;

console.log(innerHeight-innerHeight);

var loginForm=document.forms['loginForm'],

user=loginForm.elements['user'];

user.oninput=function(){

var ViewInputLen =  $('#ViewInput').val();

if(ViewInputLen.length>0){

$('.InputView p').addClass('oc');

}else{

$('.InputView p').removeClass('oc');

}

}

});

4.失去焦点是隐藏view

相关文章

网友评论

      本文标题:移动端调用软键盘时,上方出现自定义的view

      本文链接:https://www.haomeiwen.com/subject/khbhzftx.html