触摸事件不能与ipad上的叠加div的z-index一起使用
我使用video标签显示video,如果用户暂停video我使用div显示video标签顶部的一些选项,所有点击事件和z-index在桌面上的所有浏览器上都能正常工作,但有些我怎么没找到iPad的解决方案,即使我已经以编程方式更改了css但是在iPad上没有运气的情况下,即时播放器和div z-index总是变得自动
$("#video_screen").bind("pause",function(){ $("#video_screen").css("z-index","-1"); $("#videoOptionsDiv").show(); alert("Seek Time:"+$("video").attr("currentTime")+" ms"); $("#notif").slideDown("fast"); alert("video "+$("#video_screen").css("z-index")); alert("optionaction "+$("#optionActions").css("z-index")); });
这是我的代码,仅适用于桌面浏览器
这是一个类似的问题 ,有人确定移动safari为video标签削减了一个洞,并且没有任何东西可以在ontop上渲染。
不幸的是不是
根据我对iOS目前工作方式的经验和理解,这是不可能的。
iPad上的移动Safari为Quicktime窗口打开了一个漏洞,该窗口使用内置的硬件加速function播放video,以延长电池续航时间。 (iPhone和iPod Touch只需在单独的窗口中打开即可达到相同的效果。)
此窗口与页面上的其他HTML无法很好地协作。 事实上,我还没有办法让移动版Safari在标签上显示任何内容。 我的猜测是,这是因为硬件加速仅允许video缩放和定位,并且它一次只能处理一个video。
虽然它有点老了所以你可以尝试在div上设置9999 z-index而不是在video标签上设置-1 z-index,但它可能不起作用。
我找到了一个解决方案,当菜单出现在video顶部时,我刚刚删除了控件,所以它没有触发video的触摸事件。 它们根据控件设置优先级,因此如果您只是删除控件,则可以检测重叠元素的触摸事件。
并在隐藏选项时再次添加
这就是我们被发现的黑客行为
希望这个答案对任何人都有帮助
谢谢