IOS — обходной путь для ручной фокусировки на вводе/текстовой областиJquery

Программирование на jquery
Ответить
Anonymous
 IOS — обходной путь для ручной фокусировки на вводе/текстовой области

Сообщение Anonymous »

Итак, я видел много тем о проблеме iOS с акцентом на элементе ввода/текстовой области. (См. здесь и здесь). Похоже, что iOS не позволит вам вручную сфокусироваться на одном из этих элементов и требует, чтобы это было настоящее касание/щелчок, чтобы сфокусироваться на элементе.

Я пробовал имитировать щелчок, инициировать клик, просто сразу выполнять click()... всевозможные вещи.

Вот мой текущий обходной путь что я пытаюсь реализовать:

Код: Выделить всё

$scope.gotoElement = function(eID) {
// call $anchorScroll()
$scope.smoothScrollTo(eID).then(function() {
clickElement('#textarea');
});
}

function clickElement(e) {
$(e).on('touchstart', function() {
//$(e).val('touchstart');
$(e).focus();
});

$(e).trigger('touchstart');
}
Вам не нужно беспокоиться о функции прокрутки, я знаю, что она работает, и я достаточно ее протестировал. Закомментированный $(e).val('touchstart') работает без проблем при изменении текста текстовой области, но .focus() не работает в iOS. Я тестировал это на устройстве Android, и оно работает нормально, но на iOS клавиатура просто не отображается. Иногда на полсекунды начинает появляться клавиатура, а потом снова исчезает.

Я просмотрел другие темы, как упоминал выше, и не могу кажется, я понял, как написать обходной путь для этой проблемы.

Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/307 ... t-textarea
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»