У меня только что была такая же проблема. Мой код работает отлично в любом браузере на моем Mac, но на устройствах iOs он не работает.
Я использую «.bind (this)» в своей функции тайм-аута, и именно это вызывает у меня проблему.
Когда я расширяю объект функции с помощью «.bind» в моем скрипте, он работает как шарм.
Мой код выглядит примерно так:
searchTimeout = setTimeout(function() {
...
}.bind(this),250);
Чтобы это работало на устройствах iOs, я (как упомянуто выше) только что добавил это:
Function.prototype.bind = function(parent) {
var f = this;
var args = [];
for (var a = 1; a < arguments.length; a++) {
args[args.length] = arguments[a];
}
var temp = function() {
return f.apply(parent, args);
}
return(temp);
}
Я не вижу .bind в вашем setTimeout, но для других с такой же проблемой это может быть проблемой. Вот почему я выкладываю: -)