Ошибка мобильного Safari на кнопке с фиксированным положением после программной прокрутки scrollTop ...? - PullRequest
35 голосов
/ 06 января 2012

Я только что сделал веб-страницу, но есть одна ошибка в Mobile Safari (iPhone и iPad iOS 5.0.1) с двумя кнопками, которые закреплены в верхнем и нижнем правом углах.

Кнопки не исчезают до тех пор, пока после нажатия кнопки «Отправить» в текстовом поле, которое открывается до остальной части страницы ... После загрузки остальной части страницы и исчезновения кнопок вы можете нажать на любую из них и они оба работают ...

Однако нажатие на них вызывает программную прокрутку, и после того, как эта прокрутка завершена, вы больше не можете нажимать ни на одну из кнопок, пока вы физически не прокрутите страницу пальцем, даже прокруткой всего в один пиксель ...

Что я заметил, так это то, что после программной прокрутки, если вы нажмете чуть-чуть ниже кнопки TOP, вы увидите выделение, как если бы вы нажимали кнопку BOTTOM, и действие нижней кнопки было обработано, что говорит мне об ошибке что при программной прокрутке кнопка фиксированного положения все еще перемещается с остальной частью страницы и не возвращается в свое фиксированное положение до тех пор, пока не будет выполнена фактическая сенсорная прокрутка ....

Кто-нибудь знает способ обойти это ..?

Я добавил всплывающее окно, которое показывает, какая кнопка была нажата, чтобы вы могли проверить ее, запомните, что после первого нажатия кнопки «вниз» (что работает), при повторном нажатии, она не будет работать, но щелкните чуть ниже кнопки. кнопка вверх, и вы увидите действия кнопки вниз ...

http://www.tsdexter.com/ceos

спасибо за помощь.

Thomas

(также, если вы можете указать мне, где я могу отправить сообщение об ошибке в Apple, что было бы хорошо, если только это не было)

РЕДАКТИРОВАТЬ: просто нажмите любую из стрелок отправки, вам не нужно вводить заработную плату / зарплату по умолчанию

РЕДАКТИРОВАТЬ 2: Вот более простой пример, чтобы показать ту же проблему ..

http://www.tsdexter.com/MobileSafariFixedPosBug.html

РЕДАКТИРОВАТЬ 3: Сообщение об ошибке в Apple

Ответы [ 11 ]

0 голосов
/ 23 февраля 2012

Я обнаружил точное поведение, которое вы описываете в приложении для iPhone, которое я пишу. Я загружаю кучу HTML-текста с индексом на правой стороне. После выбора элемента из меню и прокрутки текста меню перестает отвечать на запросы (поскольку зона посадки выскользнула из-под него). Я также видел, что даже крошечная прокрутка текста может снова включить индексное меню.

Я создал тестовый пример и загрузил файл здесь (если вы просматриваете его в браузере не на iPhone, сделайте окно небольшим по вертикали, чтобы увидеть правильное поведение):

http://www.misterpeachy.com/index_test.html

Я понял, что меню указателя прокручивается с текстом (хотя видимое меню не двигалось) после того, как я нажал B, а затем снова нажал B. Вместо прокрутки до B (в основном не движется), прокрутка до D.

Прямо сейчас я застрял. Я надеюсь, что смогу добавить некоторый код JavaScript (я никогда не программировал на JavaScript, так что это небольшая проблема), который будет прокручивать текст на один пиксель после того, как я уберу палец с пункта меню (и после того, как текст прокручен в выбранное место, конечно). Возможно, JavaScript сможет обнаружить прокрутку, а затем добавить к ней еще одну прокрутку.

...