微信iOS端无法执行jquery on()方法

今天在做购物网站公众号时,首页上商品描述文字和图片点击都需要进入商品详情页,发现PC端和安卓端都可以正常跳转,iOS端点击图片可以正常跳转,点击文字则无任何反应。

jquery方法为:


$(document).on('click','.a .b',function(){
		var id=$(this).attr('id');
		if(id){
			window.location.href="{WEB_PATH}/mobile/mobile/item/"+id;
		}			
	});


在iOS端点击文字时根本没进入on()方法体,搜索得知微信在安卓版使用X5内核,iOS版使用自带Safari内核,最后在stackoverflow找到解决办法,原因未知。


代码修改为:


$('<span style="font-family: Arial, Helvetica, sans-serif;">.a</span>').on('click','.b',function(){
		var id=$(this).attr('id');
		if(id){
			window.location.href="{WEB_PATH}/mobile/mobile/item/"+id;
		}			
	});

答案来源: http://stackoverflow.com/questions/9881509/jquery-on-doesnt-work-with-mobile-safari

微信的坑:http://likr.cn/2015/12/02/%E5%BE%AE%E4%BF%A1h5%E8%B8%A9%E5%9D%91/

                    https://www.qianduan.net/qqliu-lan-qi-x5nei-he-wen-ti-hui-zong/


update:

方法二:


iOS(safari)有时候某个标签绑定点击事件无效,加了空的οnclick=""就好了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值