Как вызвать уменьшение iPhone после автоматического увеличения формы? - PullRequest
28 голосов
/ 17 мая 2011

У меня есть веб-форма, которая использует jQuery для отправки поиска.Сама форма не запускает событие submit, потому что я перехватываю его и удаляю (все это является частью гораздо более крупной и сложной формы, и я использую прогрессивное улучшение для добавления этой функциональности).

Вкл.iPhone, браузер автоматически увеличивает мой поисковый ввод, как только он сфокусирован.При событии keyup «enter» поиск выполняется через javascript, и я размываю ввод, который отклоняет экранную клавиатуру iPhone, но браузер остается увеличенным в области ввода.

Есть ли способ программно инициировать уменьшение масштаба снова обратно в начальную область видового экрана с помощью javascript?

РЕДАКТИРОВАТЬ: нет перенаправления при выполнении поиска, которое обычно сбрасывало бы видовой экран при загрузке новой страницы- здесь все происходит на одной странице.

Ответы [ 3 ]

26 голосов
/ 11 ноября 2015

Если размер шрифта на входе не менее 16 пикселей, увеличение не будет запускаться с самого начала.

9 голосов
/ 23 апреля 2015

Я успешно использовал следующее.

$('input, select, textarea').on('focus blur', function(event) {
    $('meta[name=viewport]').attr('content', 'width=device-width,initial-scale=1,maximum-scale=' + (event.type == 'blur' ? 10 : 1));
  });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<head>
  <meta name="viewport" content="width=device-width,initial-scale=1" />
</head>

<body>
  <input id="input" type="text" placeholder="Type here..." />
</body>
6 голосов
/ 23 апреля 2015

Вам нужно или вы хотите, чтобы люди вообще могли изменять масштаб изображения? Если нет, вы установили этот метатег в своей голове?

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

Насколько я знаю, это остановит проблему масштабирования в первом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...