Хорошо, это ужасный ответ, и всем спасибо за помощь.
В конце я объединил все файлы JS.Это исправило проблему порядка выполнения скриптов на iPhone / Android.Я не уверен, почему это происходит на этом конкретном сайте, и только на мобильных телефонах.
Это не очень элегантное решение, и я не рекомендую его.В моем случае это было для временного микросайта, поэтому решили, что это приемлемо.Если я узнаю больше о проблеме, я опубликую ее здесь.
Как заметил Кольт, я немного опрометчиво сказал, что это не элегантное решение, объединяющее все файлы вместе.На самом деле это именно то, что вы должны делать!Меня разочаровало то, что настольные и мобильные браузеры обрабатывали JS по-разному, и при разработке сайта я не объединяю / минимизирую файлы, пока не узнаю, что они работают.Облегчает отладку и обновление библиотек.
Поскольку я чувствую себя плохо из-за того, что предлагаю плохой совет, вот небольшой совет: когда я на производственном сервере, я использую Smart Optimizer (http://farhadi.ir/works/smartoptimizer) для обработки объединения, минимизации, GZipping и кэшированияфайлы для меня. Означает, что мой dev-код остается хорошо отделенным, и легко создавать jQuery, плагины и т. д., но на живом сайте все хорошо слипается.