Отключение события фокуса мобильного Safari (масштабирование)

При нажатии на поле ввода на устройстве iOS он увеличивает масштаб этого элемента. Могу ли я отключить это фокусное событие?


person dubbelj    schedule 15.02.2011    source источник


Ответы (3)


Я выложил эту суть, которая решает проблему. https://gist.github.com/2008932

Принятое решение неверно, так как вообще отменяет фокус, что препятствует вводу данных.

person zachleat    schedule 09.03.2012
comment
Отлично! Не могу поверить, что все до сих пор советуют взломать область просмотра, когда это, кажется, решает проблему довольно элегантно. Спасибо - person thatguy; 07.03.2013
comment
Для справки: это взлом окна просмотра — он просто динамичен в JavaScript. :) - person zachleat; 07.03.2013
comment
Если вы используете мобильный шаблон (html5boilerplate.com/mobile) с helper.js, вы можете вызвать MBP.preventZoom. (), он делает почти ту же работу - person Davor; 06.06.2013
comment
Идеально, это именно то, что я искал. Все остальные вели себя нечестно или возились с портом просмотра до такой степени, что отзывчивость была бы перезаписана. Спасибо, Зак! - person Dylan; 14.08.2014

Я думаю, вам было бы лучше установить окно просмотра:

<meta name="viewport" content="width=device-width, user-scalable=no" />

см. эту тему

person Rowan    schedule 10.01.2013
comment
Я не согласен. С решением @zachleat нет необходимости полностью отключать масштабирование. Отключение масштабирования вообще в большинстве случаев — плохая идея: вы отключаете стандартное взаимодействие. - person Fer; 18.03.2014
comment
Этот пользователь не только враждебен, но и не работает (к счастью) в iOS10+. - person Robin Whittleton; 20.09.2017

Лучшее решение для отключения автоматического масштабирования на мобильных устройствах при касании

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

person Denis Staci    schedule 06.02.2021