;
(function () {
    const vh = innerHeight

    if (/Android/gi.test(navigator.userAgent)) {
        window.addEventListener('resize', function () {
            if (document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA') {
                window.setTimeout(function () {
                    document.activeElement.scrollIntoViewIfNeeded()
                }, 0)
            }

            // 防止收起键盘后容器的 scrollTop 滚动到底部（切换密码键盘也会失焦，所以要排除登录页）
            if (vh === innerHeight && location.hash !== '#/login') {
                for (let item of document.querySelectorAll('input, textarea')) item.blur()
            }
        })
    }

    // 输入框聚焦的时候点击其他地方由于 better-scroll 并不会失焦，所以主动失焦
    window.addEventListener('touchstart', function (e) {
        if (e.target && !/textarea|input/i.test(e.target.tagName)) {
            e.stopPropagation()
        }
        for (let item of document.querySelectorAll('input, textarea')) item.blur()
    })

    // better-scroll 会阻止 textarea 内部滚动，所以当在 textarea 上滚动时阻止冒泡
    window.addEventListener('touchmove', function (e) {
        var el = e.target
        if (el && el.tagName === 'TEXTAREA' && el.value) {
            e.stopPropagation()
        }
    }, true)

    window.addEventListener('focusout', () => {
        if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
            // 软键盘收起的事件处理
            setTimeout(() => {
                const scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0
                window.scrollTo(0, Math.max(scrollHeight - 1, 0))
            }, 100)
        }
    })
})()
