webview - 移动端input 的blur属性

2019-07-18  本文已影响0人  反者道之动001

blur失效 ; blur很多时候等同于键盘收起

QAQ

其实不然

有的安卓手机 如SCL-TL(为了证明我没胡说,说下机型)

点击输入法的关闭按钮(原生),然后输入法收缩,但是光标还在,嗯 还在!

QAQ

解决方案

思路: 监听size,判断是否位置改变, 同时不撤销blur,只增加新的监听而已。

let handleSize = () => {
            this.innerHeights.push(window.innerHeight)
            this.innerHeights = this.innerHeights.filter( (item, index ,arr)=>arr.indexOf(item) === index )
            let maxValue = Math.max(...this.innerHeights)
            let minValue = Math.min(...this.innerHeights)
            let open = () => {
                console.log('键盘出来')
            }
            let close = () => {
                console.log('键盘关闭')
                this.inputBlur()
            }
            if(this.innerHeights.length == 1){
                open()
                return
            }
            if(window.innerHeight === maxValue){
                close()
            }
            if(window.innerHeight === minValue){
                open()
            }
}
window.addEventListener('resize', this.handleSize.bind(this), false)

--END--

上一篇下一篇

猜你喜欢

热点阅读