• jQuery的on绑定事件在mobile safari(iphone / ipad / ipod)上无法使用的解决方案


    用一个div当做了一个按钮来使用。

    <div class="button">
        <div class=" next_button button_left btn_red" style=" 345px;">
        下一步
        </div>
    </div>
    

    因为是动态添加的内容,所以想要使用click事件,需要给他用on绑定一下:

    $(document).on("click",".next_button",function(){
        alert();
    });
    

    这个时候,使用苹果手机访问的时候,发现了一个坑爹的问题,如论如何点击“下一步”,都没有任何反应,可是在安卓和各种模拟器中一切正常。后来经过查找资料才知道,苹果有这么个设置: 
    对于点击的对象,拥有cursor:pointer这个样式的设置,也就是说,鼠标放上去,能够出现“手”型的图标才被认作可以使用点击事件,于是果断增加了样式

    <style>
        .next_button{
            cursor:pointer
        }
    </style>
    

     

    原因:

    冒泡事件是标准存在的,jquery的on事件也是没有问题。
    问题出在,你要给你的dom写一个css样式 cursor:pointer
    因为safari认为这才是一个可点击区域,这样表达更加友好,才会让你可以click,你才可以点击,你才可以绑定。

    又或则你是一个<a>标签,然后<a>标签里面只有是<img>标签,你的<a>标签用on绑定click事件也是可以的,其他的标签都被无视click了。

    又或则你用tap事件,又或则你直接仿写click,摁下超过300毫秒再触发都是可以的。

    希望我的答案可以帮助到其他开发web移动端的小伙伴


    作者:bo Bo
    链接:https://www.zhihu.com/question/23689377/answer/48964971
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。
  • 相关阅读:
    vue项目实践-添加axios封装api请求
    travis-ci 中运行 puppeteer
    ubuntu 16.04 TLS 安装VNC
    duilib bkimage 属性
    Android后台服务拍照
    mongodb 设置用户密码权限
    App爬虫神器mitmproxy和mitmdump的使用
    insserv: Script <name> is broken: incomplete LSB comment.
    ubuntu ssh root登陆
    virtualbox 迁移虚拟机存储位置
  • 原文地址:https://www.cnblogs.com/fogwang/p/5959858.html
Copyright © 2020-2023  润新知