События по нажатию кнопки не работают на iPad, но работают на настольном и мобильном - PullRequest
2 голосов
/ 12 июля 2019

Я пытаюсь создать простой код JavaScript. У меня есть две кнопки с изображениями внутри, которые используются как переключатели для переключения между двумя вариантами. Все отлично работает на самых популярных типах устройств: Android + Chrome, Desktop + Chrome и iPhone + Safari. Но когда я нажимаю на мой iPad + Chrome или iPad + Safari ... Ничего не происходит. И это не первый случай, когда onclick и подобные события / триггеры не работают.

Я уже пробовал разные события, такие как on() с различными параметрами, такими как «щелчок», «нажатие», «сенсорный запуск» и их комбинации, bind(), window.onclick, addEventListener и т. Д. И все они работают на всех платформах, которые я описывал выше. Но не iPad. Также я попробовал совет как "добавить onclick =" "к html-коду элемента", "добавить курсор свойства css: указатель" и другой. Вот код, который я сейчас использую:

window.onload = function () {
    $(document).on('click', 'button.png-option', function () {
        checkIt()
    });
};
<button class="png-option" type="button" id="sms-web" onclick="">
                <img src="{{ url_for('static', filename='web.png') }}" class="medium-png active" id="web">
            </button>
.png-option {
    height: 50px;
    width: auto;
    cursor: pointer;
}

.medium-png {
    height: 50px;
    width: auto;
}

.medium-png.active {
    border: 4px solid #81bd79;
    border-radius: 25px;
    transition: .2s;
}

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

1 Ответ

1 голос
/ 16 июля 2019

Подключите iPad к компьютеру Mac и проверьте интерактивную область.Иногда интерактивная (касающаяся) область может быть не в нужном месте или может быть область в свернутом состоянии, например 0 ширина или 0 высота.Также существует вероятность того, что другой невидимый слой находится над кликабельной областью.Без подключения к компьютеру Mac, его трудно отладить.Событие щелчка должно вызвать событие касания или касания в обязательном порядке в противном случае.

...