jQuery点击事件在iOS失效

曹兴贤
2023-12-01

1.jQuery点击事件,在Android手机上点击事件是可以的,但是iOS手机没反应。

  js 生成的DOM,不是HTML写的

用 $('.btn').on("click",function(){}); 这样点击事件可能会不生效。

需要这样事件委托,$('XXX').on('click','.btn',function(){}); ('XXX' 是HTML上的btn的一个父级dom) ,才会生效。

但是当$(document).on('click','.btn',function(){});   或者  $( body).on('click','.btn',function(){}); 会失效

问题描述:

当使用委托给一个元素添加click事件时,如果事件是委托到 document或 body上,并且委托的元素是默认不可点击的(如 div, span等),此时 click事件会失效。

 

解决方法

1、将目标​元素换成a或者button等可点击的​元素;

​2、将 click 事件委托到​​​​​非 document 或 body 的​​父级元素上;

​3、给​目标元素加一条样式规则 cursor: pointer(记住加    *{ -webkit-tap-highlight-color: transparent;)。



作者:张凯斯
链接:https://www.jianshu.com/p/490ad3df0480
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 类似资料: