ios在吊起浏览器后底部白屏以及blur和click事件冲突

当输入框失去焦点的时候,将窗口滚动到最原始位置

let ua = window.navigator.userAgent.toLowerCase()
$('input').blur(function() {
 if (ua.match(/(android|ios)/i)) {
    window.scrollTo(0,0)'
   //或者是下面的方法
   $(window).scrollTop(0)
  }
})

但是当我们点击提交表单数据的时候,click就会和blur冲突。主要由于JavaScript为单线程,同一时间只能执行处理一个事件, blur优先于click执行,为了解决第一次click的时候会执行blur中的事件,采用延迟的方法将blur事件中scroll方法放在延迟函数中。

$('input').blur(function() {
  if (ua.match(/(android|ios)/i)) {
    setTimeout(() => {
       window.scrollTo(0,0)'
      //或者是下面的方法
      $(window).scrollTop(0)
    }, 60)
   }
})

你可能感兴趣的:(ios在吊起浏览器后底部白屏以及blur和click事件冲突)