h5键盘遮挡输入框问题 、模仿微信输入框失去焦点时隐藏iphone的软键盘和聚焦时出现输入框
2017-06-02 14:38
411 查看
最近的项目做得是混合开发,其实比较尴尬的啦,手机端的安卓与ios挺多兼容问题的。
1、手机端h5页面中输入法键盘会遮挡输入框的问题。
$('input').on('focus',function(event){
//自动反弹 输入法高度自适应
var target = this;
setTimeout(function(){
target.scrollIntoViewIfNeeded();
},100);
});
由于不同的输入法键盘高度不一致,这使得我们在开发当中要做很多兼容,但是针对不同的输入法键盘和不同的手机去做这样一个兼容是很耗费时间的。
像苹果手机就有自带的输入法,当我们使用自带的输入法时,键盘也许不会遮挡输入框,然而用户会使用各种各样的输入法。
所以,
jquery的scrollIntoViewIfNeeded()方法,可以做到将输入框移动至视野中。
从而解决了键盘遮挡文本输入框的问题。
2、模仿微信输入框失去焦点时隐藏iphone的软键盘和聚焦时出现输入框
function BlurOrFocus(){
var obj = document.getElementsByClassName('input')[0];
var docTouchend = function(event){
if(event.target!=obj){
setTimeout(function(){
obj.blur();
document.removeEventListener('touchend',docTouchend,false);
},1000);
}
}
if(obj){
obj.addEventListener('touchstart',function(){
document.addEventListener('touchend',docTouchend,false);
},false);
}
}
BlurOrFocus();
这里是实现了当手触碰到文本输入框之外的地方,就将输入法键盘隐藏。
1、手机端h5页面中输入法键盘会遮挡输入框的问题。
$('input').on('focus',function(event){
//自动反弹 输入法高度自适应
var target = this;
setTimeout(function(){
target.scrollIntoViewIfNeeded();
},100);
});
由于不同的输入法键盘高度不一致,这使得我们在开发当中要做很多兼容,但是针对不同的输入法键盘和不同的手机去做这样一个兼容是很耗费时间的。
像苹果手机就有自带的输入法,当我们使用自带的输入法时,键盘也许不会遮挡输入框,然而用户会使用各种各样的输入法。
所以,
jquery的scrollIntoViewIfNeeded()方法,可以做到将输入框移动至视野中。
从而解决了键盘遮挡文本输入框的问题。
2、模仿微信输入框失去焦点时隐藏iphone的软键盘和聚焦时出现输入框
function BlurOrFocus(){
var obj = document.getElementsByClassName('input')[0];
var docTouchend = function(event){
if(event.target!=obj){
setTimeout(function(){
obj.blur();
document.removeEventListener('touchend',docTouchend,false);
},1000);
}
}
if(obj){
obj.addEventListener('touchstart',function(){
document.addEventListener('touchend',docTouchend,false);
},false);
}
}
BlurOrFocus();
这里是实现了当手触碰到文本输入框之外的地方,就将输入法键盘隐藏。
相关文章推荐
- h5键盘遮挡输入框问题 、模仿微信输入框失去焦点时隐藏iphone的软键盘和聚焦时出现输入框
- js设置文本框聚焦时置顶,失去焦点时恢复位置(适用于移动设备软键盘遮挡问题)
- 记录H5页面IOS中input输入框失去焦点后,键盘隐藏
- Js控制iphone端的input/textarea元素失去焦点时隐藏键盘
- Android 中使 EditText 失去焦点,禁止弹出软键盘,及 弹出软键盘后 EditText 自动上移 不致被遮挡
- Js控制iphone端的input/textarea元素失去焦点时隐藏键盘
- 从原理上分析解决软键盘的遮挡与隐藏问题, EditText在Toolbar中键盘弹出问题
- EditText获取和失去焦点,软键盘的关闭,和软键盘的显示和隐藏的监听
- 解决webview中输入框完成输入隐藏键盘后滑动界面又弹出软键盘问题
- 当输入框失去焦点时隐藏软键盘
- Js控制iphone端的input/textarea元素失去焦点时隐藏键盘
- Js控制iphone端的input/textarea元素失去焦点时隐藏键盘
- js控制iphone端的input/textarea元素失去焦点时隐藏键盘
- Android输入框被键盘遮挡的问题
- android软键盘遮挡输入框问题
- IOS学习笔记36—解决键盘遮挡输入框(UITextField)问题
- EditText初始不获得焦点及输入框被遮挡问题
- iPhone/iPad键盘弹出遮挡要编辑内容问题
- input 输入框获得/失去焦点时隐藏/显示文字
- Android输入框被键盘遮挡的问题