2

我有一个绝对定位的 div,它的父相对定位如下:

<div class="panoramic-go-right"></div>

.panoramic-go-right {
  background-color: blue;
  height: 100px;
  width: 100px;
  margin-top: -50px;
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1000;
}

我正在向它的 touchstart 事件及其父事件添加代码,如下所示:

$('.panoramic-go-right').parent()[0].addEventListener("touchstart", function (e) {
    alert('c');
    e.stopPropagation();
    e.preventDefault();
    return false;
});
$('.panoramic-go-right')[0].addEventListener("touchstart", function (e) {
    alert('d');
    e.stopPropagation();
    e.preventDefault();
    return false;
});

问题是当我在运行 iOS 7.1.2(Chrome 和 Safari)的 iPhone 4 上触摸该元素时,会显示“c”。

在物理 Android 手机 (Chrome)、运行 iOS 9.2 (Safari) 的模拟 iPhone 4s 和物理 iPhone 6+ (Safari) 上,代码可以正常工作并显示“d”。

有人可以帮我解释为什么 iPhone 4 (iOS 7.1.2) 将触摸发送给父母而不是孩子。谢谢!

4

0 回答 0