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 を実行するエミュレートされた iPhone 4 (Safari)、および物理的な iPhone 6+ (Safari) では、コードは正常に機能し、「d」が表示されます。

iPhone 4 (iOS 7.1.2) が子供ではなく親にタッチを送信する理由を教えてください。ありがとう!

4

0 に答える 0