求助关于IOS键盘弹出的问题

yshh12345 2016-12-22 02:14:15
ios客户端 客户端无法更改,IOS软键盘覆盖input标签,然后相关input具有fixed属性,暂时居于屏幕底层,为解决该问题我写了1段代码,暂时处理完成,但是后续reviev的时候发觉,当input获取焦点时,软键盘是已经存在的情况下,该fixed的input元素,被自动顶到键盘上方,但是body内其他元素不动,求解!以下是代码


$.fn.inputScrollTop = function (ele,isfixed,bindele) {
(function (_ele, _isfixed,_parent) {
//当前元素
var _this = $(_parent||_ele);
//客户端信息
var ua = navigator.userAgent;
if (ua.indexOf('iPhone')>=0) {
_this.on('focus',_ele, function () {
//添加绑定事件
setTimeout(function () {
//当前body滚动标度
var parentEleScrollTop = document.body.scrollTop;
//需要滚动的实际标度
var scroll = $(_ele).offset().top - document.body.clientHeight + 318 + $(_ele)[0].offsetHeight;
//元素高于输入框则不滚动
if (parentEleScrollTop >= scroll) {
return;
}
//是否fixed 同时 当前元素非活动元素
if (_isfixed) {
scroll = document.body.scrollTop + 318;
}
document.body.scrollTop = scroll;
}, 500);
});
}
})(ele, isfixed,bindele);

...全文
209 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
张运领 2016-12-23
  • 打赏
  • 举报
回复
IOS系统,对于input输入框聚焦的时候,做了一些特殊的处理,其主要目的是为了更好的用户体验,不过对于一些输入框固定在底部的情况,这个体验就变得不太好了,基本这个是不太好处理的,所以很多产品为了能有更好的体验,都是把输入框放在顶部的。 有一些示例,可以参考一下:IOS输入框固定

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧