親の相対位置が次のように配置された絶対位置の 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) が子供ではなく親にタッチを送信する理由を教えてください。ありがとう!