源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

IOS设备上给body绑定click事件不生效的原因及解决办法

  • 时间:2022-05-19 13:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:IOS设备上给body绑定click事件不生效的原因及解决办法
[b]事件背景:[/b]   最近在做一个移动端业务的时候碰到一个bug,在ios上对body绑定click事实现事件代理冒泡至某些元素上尽然不生效。 [b]思考:[/b]   暂借助jquery展示下事件绑定代码,将所有标签含有data-tip属性的元素通过事件代理至body
$('body').on('click','[data-tip]',function(e){
console.log($(this.).attr('data-tip')) 
}) 
  这样做在android和pc上都可以正常实现,但是在ios上面对部分标签尽然不生效。比如 tr , span ...这样的标签 [b]解决办法: [/b]   1.将click事件换成touch事件,同时还可以解决300ms的click延迟问题,但是需要e.stopPropagation()来阻止冒泡的处理会非常麻烦。   2.在对不能正常冒泡的元素上再进行一次事件绑定,比如对于tr可以在<table>上再进行一次事件代理。   3.最简洁的办法,在不能正常冒泡的元素的css属性里面添加,cursor:pointer属性。   4.换成可以正常冒泡的标签。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部