欢迎访问WDPHP素材源码!今天是2024年04月19日 星期五,上午工作顺利吗?
您好,游客 [ 马上登录 | 注册帐号 | 微信登录 | QQ登录]
当前位置:首页 > 教程 > 前端开发 > 

jQuery的on绑定事件在mobile safari(iphone / ipad / ipod)上无法使用的解决方案
栏目分类:前端开发    发布日期:2017-08-27    浏览次数:4381次     收藏

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

 

<div class="button">
    <div class=" next_button button_left btn_red" style="width: 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移动端的小伙伴
源码 模板 特效 素材 资源 教程 站长