Добрый день!
Ситуация такая: есть скрипт (jquery), который ищет форму (поле) и делает ей .focus()
т.е. node.focus();
и в хроме например (опере, фаерфоксе) всё работает хорошо.
Но в safari под iphone (ом) не работает.
Кто-нибудь сталкивался с подобным?
навешивание focus под timeout(ом) я пробовал;
---------------------------
Есть одно большое НО: то поле, которое я хочу найти - оно обрабатывается другим скриптом summernote - оно делает из textarea - блочную область редактирования. (но нужный узел находится в кол-ве 1ой штуки - т.е. проблем с поиском конкретного узла не возникает, просто на него .focus не срабатывает)
А поиск простых элементов и навешивание на них focus() - в том же safari работает хорошо.
И вот я не понимаю в чём дело =((((( Пожалуйста подскажите (если не решение, то ваши догадки).
Если проблемы только с тем полем, которое используется плагином, то очевидно что проблема из-за плагина. Попробуйте что-то вроде console.log(node.focus);
Этот код выведет функцию фокусировки. Посмотрите, что она делает и есть ли она вообще. Я предпологаю что плагин использует эту функцию.
Я поспешил с выводами. Не работает вообще с любого браузера при iphone. С десктопа и с андроидовских гаджетов всё ок отрабатывает. Может быть это какая-то защита со стороны iphone(а)?
michaelromanov90, Этот скриншот с консоли iphone'a? Если да, то это какая-то странная функция фокусировки.
Вот нашел ответ на этом форуме
This appears to be a bug in mobile safari, It can not set focus to another text field *from* another textfield. executing the .focus() on a button does work, but this is not what you want.
Но я не думаю, что apple за столько лет его не исправили. Это скорее всего защита.
Вот! Это уже лучше -
For usability reasons all the focus() functions are ignored by Safari in iPhone/iPad for usability reasons