当前位置: 首页 > Web前端 > HTML

无效位置的一些简单替代解决方案:在ios设备触发虚拟键盘输入后修复

时间:2023-04-02 21:57:43 HTML

先看我要解决的问题。第一张图是正常情况,第二张图是点击输入框后的情况。就是为了解决这个问题~!百度了一下解决方案,好像有以下几种方法:iscrollJquery手机端监听屏幕滚动事件,给#footer赋值。由于我是新手,一直没学过第一种和第二种方法,所以暂时不用这两种方法。再来看第三种方法类型:监听屏幕滚动事件,给#footer赋值。首先将#footer的position值设置为absolute,然后使用$(window).scroll()进行监听,再为#footer设置坐标(top属性)。但是我觉得这个方法有点别扭。那么,当ios设备在拖动屏幕时,页面的DOM操作会被挂起,也就是说当你的手指滚动屏幕时页面会卡住,只有当你的手指离开时才会执行DOM操作屏幕。所以我不再使用这种方法了。.说说我使用的另一种方式,监听input输入框获取焦点事件$().focus()将屏幕滚动到底部$windowscrolltobottom设置#footer的position属性为static(或绝对)以便#footer位于最底部(但不是固定的)我为什么要这样做?因为,当移动设备弹出虚拟键盘时,能看到页面的地方非常少。一般在输入状态下不会拖动屏幕,所以采用这种方式。监听输入的失去焦点事件$().blur(),将#footer的position属性设置为fixed。就是这样。...综上所述,当触发虚拟键盘时,将position属性改为static/absolute,当虚拟键盘消失时,将position属性改回fixed......functionsb_blur(){$('#order_summary').css({"position":"fiexd","bottom":"0"})}functionsb_focus(){$(window).scrollTop(0);$('#order_summary').css({"position":"relative"})}