修改記錄:ios
在輸入框上監聽blur事件,事件觸發後將body滾動至底部。web
functiont scrollTop () {
// ios12有效
window.document.body.scrollTop = window.document.body.scrollHeight;
// ios13有效 2019.10.12增長
window.document.documentElement.scrollTop = window.document.body.scrollHeight;
}
// el是輸入框
el.onblur = scrollTop;
複製代碼
緣由:bash
解決:dom
// el是輸入框
el.onblur = () => {
setTimeout(scrollTop, 0);
};
複製代碼
緣由:異步
解決: 在輸入框獲取和失去焦點時,clearTimeoutui
doms.forEach((item) => {
item.onfocus = () => {
// 元素獲取焦點時,由webview滾動元素至但是區域
window.inputFocuseTimeout && clearTimeout(window.inputFocuseTimeout);
};
item.onblur = () => {
window.inputFocuseTimeout && clearTimeout(window.inputFocuseTimeout);
window.inputFocuseTimeout = setTimeout(scrollTop, 0);
};
});
複製代碼
菜鳥第一次寫東西,很脆弱的。因此有問題請留言問題,我積極修改。沒有問題,請留言鼓勵。spa