在我的测试页http://finlir.net/paint/kinetic/2height.html我已将 touchstart 事件绑定到两个 div 元素。在我的三星 Galaxy Tab 10.1 股票浏览器上触摸该页面上的元素时,会识别事件并打印一些调试文本。但是,当我使用 iframe 显示该页面http://finlir.net/paint/kinetic/2heightiframe.html时,当我按下 iframe 下部的元素时,不会触发事件。根据 iframe 之前使用的空间多少会影响这一点,在 iframe 之前使用的更多空间似乎会减少 iframe 中的“可触摸空间”。在我的 iframe-testpage(见上面的第二个链接)上,这可以通过按下按钮“添加 p”来测试。
知道是什么导致了这个问题吗?我在 iPad、iPhone、我的 Android HTC Desire 等设备上没有任何问题。
更新:我将 iframe 中的所有内容包装在一个隐藏溢出的 div 中,并将其宽度和高度设置为窗口(iframe)大小。然后我在其中一个元素的右侧和底部添加了 padding:100000px 。现在检测到触摸。