公司最近在做一款借款的app,由于前期产品思维不够完善,导致上线之后,用户借完钱之后,没有充值,导致无法还款的情况,在用户没有更新app的情况下,跳转h5实现充值功能,所以需要客户端暴露方法给h5,判断是原生环境还是浏览器环境,做不一样的操作,
原本和android同事调试完毕,没有问题
由于我是通过事件代理来绑定事件的
$('body').on('click', '.change', function() {
if (_this.isApp) {
// 跳转我的页面
_this.Jsbridge.exec('changeTitleDesc', {
title: '充值失败'
})
} else {
document.title = '充值失败';
}
})
而我的页面按钮使用的是div,在ios里面,不是a标签或按钮(input/ button)标签会默认阻止该事件,
导致同样的方法,在android使用正常,而在ios点击无效,
解决方法:
给相对应按钮修改为(a/ input/button)标签,给该元素加:cursor:pointer属性