您的位置:首页 > 移动开发 > IOS开发

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

2017-08-29 09:11 2151 查看
昨天碰到这种问题,在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。

原链接:http://www.jianshu.com/p/e69b38c7fa75
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: