Я заметил это странное поведение с последним iOS (iOS 6). Если вы вызываете функцию для любого события касания, которое имеет setTimeout внутри, часть внутри setTimeout никогда не запускается.
Это происходит только тогда, когда есть "системная анимация", такая как прокрутка и увеличение/уменьшение.
Например:
(Я использовал jquery только для тестирования, но то же самое происходит с чистым js)
Откройте эту страницу с помощью сафари на любом устройстве iOS 6 и увеличьте или уменьшите масштаб. Предупреждение никогда не будет вызываться.
Если протестировано на любом устройстве iOS 5, это будет работать нормально! Кажется, что во время этих анимаций setTimeout или setInterval являются reset ОС. Является ли это предполагаемым поведением или ошибкой?
Спасибо