【发布时间】:2012-02-12 03:31:39
【问题描述】:
如果您有一些可点击的内容,如<a>、<input> 或<area>,并且在此之前您有一个具有更大 z-index 的绝对定位元素,则存在“点击”的错误行为。
我点击可点击元素位于前面元素后面的区域。在其他浏览器中,正确的行为是点击不通过前面的元素。但只有在 Android 浏览器中,您才能单击前面的元素并激活后面的元素。这是一个已知的错误,您无法避免。它甚至在较新的版本中(我在官方 Android 模拟器中测试 2.3.3)。
在一些论坛中描述了一些解决方法,但没有一个对我有用。
- 我尝试在前后之间放置
<iframe>或<a> - 我尝试更改 DOM,所以浏览器状态可能已刷新
- 我也尝试过定位后面的元素 没有工作
我尤其在图像地图的区域元素方面遇到问题。
有没有人遇到过同样的问题并设法解决了这个问题? 我对针对图像映射进行测试的解决方案特别感兴趣。
【问题讨论】:
-
如果已知该错误仅发生在安卓浏览器中并且您对所有其他情况都有解决方案,您能否在不可点击元素中设置点击侦听器,阅读用户代理并做出正确反应?也许这没有意义,但用户代理的东西可能很有用
-
@Maragues 很有趣的想法,但它不会起作用,因为后面的元素包含点击事件不会知道前面的哪个元素应该首先被点击。
-
如果后面的元素总是放在同一个区域,也许你可以读取点击坐标,并通过考虑屏幕大小和密度的一些计算,推断点击是否是针对前面元素的。我知道这是一个糟糕的解决方案,但它可能是一个绝望的举动。
-
我的赏金呢?我应该花掉它,但它已经消失了:(
-
骑士身份应该意味着灯箱。我的手机中的血腥文本替换
标签: android css z-index android-browser