1、頁面添加區域滾動,滾動區域內元素事件無效問題
解決方法:
<script type="text/javascript" charset="utf-8"> $(".page-current").scroller({ type: 'js' }); </script>
把滾動初始化放到自己添加的事件之前執行。
例如:給滾動區域內一個ID為name的input添加click事件,當頁面剛加載完,首先執行了,給當前input綁定了事件,然后執行了scroller區域滾動初始化高度時,會把當前頁面的滾動區域重寫(PS:這種說法來源於網絡,貌似頁面加載后有短暫刷新動作【非瀏覽器頁面帶進讀條刷新】,頁面重構閃一下的感覺),這時,當你點擊#name 的input元素,並不會觸發click事件,為什么呢???
原因:此時的#name的Input是scroll初始化后的input元素,非當時頁面剛加載完的input元素。不是同一個元素。
在用Iscroll.js和MUI框架的區域滾動時,也遇到了相同的問題。解決方法是:給初始化滾動區域函數外加200+ms的定時器
2、android環境下,輸入表單鍵盤彈起擋住輸入框問題。
解決方法:監聽當輸入框獲取焦點,鍵盤彈起時,如果不在可視范圍內,則將輸入框滾動到可視區域。(滾動整個區域,也可單獨對當前input,fixed定位)
3、表單提交時,錯誤提示固定位置,錯誤信息不在可視區域,需提交時,讓錯誤信息和input顯示在可視區域。
解決方法:類似問題2,判斷錯誤位置,是否在可視區域,如果不在,則滾動區域。
