Насколько я знаю, правильно использовать только обработчик onmousemove
, чтобы переключить className
в состояние по умолчанию. Проблема с зависанием состояния кнопки во время прокрутки iPhone связана с другой проблемой: при попытке прокрутки представления любое взаимодействие с отображением страницы блокируется для выполнения прокрутки с хорошей производительностью и предотвращения конфликтов. Тогда содержимое страницы выглядит замороженным. Вот почему ваша кнопка не может быть восстановлена в состояние по умолчанию до прокрутки.
Печально то, что это поведение зависит от того, как вы запустите прокрутку. Если вы прокручиваете область div и кнопка div может отправить событие touchmove
до процесса прокрутки, это сработает, в противном случае класс css будет восстановлен после завершения прокрутки.
Некоторые сенсорные инфраструктуры JavaScript решают эту проблему, перехватывая события касаний, предотвращая поведение браузера по умолчанию (например, прокрутку) и внедряя собственную систему прокрутки.
Я знаю, это не решение, но может быть объяснением.
Надеюсь, это поможет.
Ciao.