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

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

作者: guoss | 来源:发表于2019-08-09 16:13 被阅读0次

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

    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事件冲突

          本文链接:https://www.haomeiwen.com/subject/frphjctx.html