您的位置:首页 > 移动开发 > IOS开发

ios上【点击select元素,输入框自动获得焦点的问题】

2017-03-28 15:32 357 查看
今天遇到了一个很奇怪的问题:在ios手机上,如果页面出现滚动条,点击select元素的时候,偶尔会出现 “ 页面上的某一个输入框自动获得焦点 “ 的问题。

这个问题困扰我好久,一直找不到答案,今天终于有点头绪。

问题重现的前提:

    1:页面有selec标签

    2:有input标签

    3:y轴有滚动条

问题的原因是:

    点击select,触发touchstart事件,页面的滚动条会往顶部滚,事件进行冒泡

    滚动完成后,点击的位置就是输入框所在的位置,

    之后,由于事件冒泡,触发父元素的click事件,

    之后输入框获得焦点

  

解决方案:

    给select元素绑定touchstart事件,在事件里面阻止事件冒泡

    $(‘select’).on('touchstart',function(e){
      e.stopPropagation();
    });
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐