Только что столкнулся с этой проблемой сегодня и должен был собрать решение из нескольких ответов, так как ни один из них полностью не решил проблему ...
У меня есть элементы видео в свернутом списке стилей "табличное представление", которые были захваченыкасаться событий на iPhone при попытке нажать на другие элементы списка.На iPhone видео воспроизводилось при нажатии на другие свернутые элементы, которые оказались на том же месте на экране.
Чтобы исправить это, потребовалось все следующее:
1) Использование этого:
video{
-webkit-transform-style: preserve-3d;
}
... не оказало никакого влияния, но я оставил егов любом случае.Теперь все работает, так что я не хочу больше с ним связываться:)
2) Переключение visibility: hidden
само по себе не сработало, а display:none
не сработало, как ожидалось.
3) В дополнение к «видимости» атрибут видео тега HTML5 controls
также должен быть добавлен / удален динамически.Либо:
$("video").css({visibility:"hidden"}).removeAttr("controls");
или $("video").css({visibility:"visible"}).attr("controls", "controls");
4) Необходимо установить видимость / элементы управления для загрузки документа на основе исходного браузера / размера экрана
5) Хотя основная проблемаЭто было странное поведение iPhone, я также должен был учитывать изменения размера окна выше моей самой маленькой точки прерывания медиа-запроса 600px - иначе видео появилось бы / исчезло бы при неправильных размерах экрана.
$(window).resize(function(){
if ($(window).width() > 600){
$("video").css({visibility:"visible"}).attr("controls", "controls");
}
});
Довольно тяжело обходить то, что по сути является глупой мобильной ошибкой Safari ... Я очень надеюсь, что это сработает на iPad, когда я протестирую его позже ...