点击未在iOS上触发的事件

我有一个嵌套列表的列表,我想单击它们时打开。 它可以在桌面和各种浏览器上正常工作,但是当我使用iOS,iPad或iPhone时,它不想工作。

该列表看起来像这样:

<ul class="lessonList"> <li class="lessonItem" id="1"><input type="checkbox" class="scopeCheck">Default Scope <ul style="display:none;" class="scope1">...other content in here</ul> </li> </ul> 

和这样的代码:

 $(document).on("click",".lessonItem",function(e){ e.stopImmediatePropagation(); $(this).children("ul").slideToggle(); }); 

我有一个停止immediateprop停止点击checkbox从启动滑动滑块,但在iOS上,它甚至不会放弃,直到(并且只是)你检查checkbox。 点击li本身在iOS设备中什么都不做。

如果将此样式添加到<li>元素,它将起作用:

 li { cursor: pointer; } 

JSFIDDLE DEMO

这似乎是iOS事件的一个错误 – 参考 。

我也遇到了这个问题,CSS光标技巧不适合我。

幸运的是,在玩了一段时间之后,我发现点击事件总是被传送到锚标签,并且能够通过将我的Div容器更改为锚标签来解决我的问题。