点击未在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容器更改为锚标签来解决我的问题。