ios手机 按钮点击事件没反应(按钮是js生成的)

昨天碰到这种问题,在Android手机上点击事件是可以的,但是iOS手机没反应。用的是jQuery,我立即就想到是点击事件格式写的有问题,因为 我之前就碰到过类似的问题,比如,你用js 生成的一个按钮  <div class="btn">按钮</div>  (记住是 js 生成的,不是HTML写的),用 $('.btn').on("click",function(){}); 这样点击事件可能会不生效。需要这样写,$('XXX').on('click','.btn',function(){}); ('XXX' 是HTML上的btn的一个父级dom) ,这样才会生效。

       $('XXX').on('click','.btn',function(){}); ('XXX' 是HTML上的btn的一个父级dom)   但是这种写法在ios手机会出现点击事件不生效的情况,解决办法我搜了下,几种解决办法如下:

     


$(document).on('click', 'dl dt', function() {
  //something()
});
在pc以及安卓设备都是正常的,但是在ios上面就失效了。

问题描述:
当使用委托给一个元素添加click事件时,如果事件是委托到 document或 body上,并且委托的元素是默认不可点击的(如 div, span等),此时 click事件会失效。
解决方法
1、​将 click 事件直接绑定到目标​元素(​​即 .target)上;
2、将目标​元素换成 a 或者button 等可点击的​元素;
​3、将 click 事件委托到​​​​​非 document 或 body 的​​父级元素上;
​4、给​目标元素加一条样式规则 cursor: pointer。
————————————————
版权声明:本文为CSDN博主「江南风雨2013」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012028371/article/details/77662833

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值