鍍金池/ 問(wèn)答/HTML5  iOS/ H5頁(yè)面,在ios上,輸入框被鍵盤(pán)蓋住,怎么解決?

H5頁(yè)面,在ios上,輸入框被鍵盤(pán)蓋住,怎么解決?

1.scrollView()方法并不能解決
2.js獲取軟鍵盤(pán)的高度也不行,ios不能觸發(fā)resize事件

回答
編輯回答
心夠野

我之前也研究過(guò)這個(gè)問(wèn)題,在 iOS 下,用 scrollIntoView() 是可以解決的。

對(duì)于安卓平臺(tái),我是默認(rèn)認(rèn)為軟鍵盤(pán)的高度不會(huì)超過(guò)屏幕高度的一半,所以先用 clickedElement.getBoundingClientRect().top 計(jì)算所點(diǎn)擊元素距離屏幕頂部的高度,如果低于屏幕高度一半的距離的話,則用 scrollTop() 讓它上移一定距離。因?yàn)樵谟冒沧空鏅C(jī)的測(cè)試過(guò)程中發(fā)現(xiàn)安卓并不支持 scrollBy() 這個(gè)方法,所以用的是 scrollTop() 這個(gè)方法。

自己也整理成了一篇文章,放在了這里:點(diǎn)擊輸入框自動(dòng)上移頁(yè)面至軟鍵盤(pán)上方

2017年12月15日 05:43