Задать вопрос
@Intelix

Почему на ios не работает addEventListener('click')?

Есть такой скрипт:
window.addEventListener('DOMContentLoaded', () => {
    const targetElements = document.querySelectorAll('.technologies__card');
    const cssClass = 'hoverCard';
    targetElements.forEach((element) => {
        element.addEventListener('mouseenter', () => {
            element.classList.add(cssClass);
        });
        element.addEventListener('mouseleave', () => {
            element.classList.remove(cssClass);
        });
        element.addEventListener('click', () => {
            element.classList.add(cssClass);
        });
        element.addEventListener('blur', () => {
            element.classList.remove(cssClass);
        });
    });
});

Он должен при клике на technologies__card добавлять к ней класс hoverCard.
Но конкретно на ios устройствах это не работает, не пойму по какой причине, пробовал touchstart, touchend и прочее.
Пробовал document.readyState !== 'loading'.
  • Вопрос задан
  • 230 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 2
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Емнип window это объект браузера, со своими свойствами и евентами, в которые вроде даже DOMContentLoaded не входит (вместо него есть "load"), это евент документа. Скорее странно что это работает на не айос...
-window.addEventListener('DOMContentLoaded', () => {
+document.addEventListener('DOMContentLoaded', () => {
Ответ написан
Комментировать
Wispik
@Wispik
Насколько помню, чтобы на ios работал onclick на элементе, это:
1. либо должна быть кнопка (button)
2. либо у элемента должно быть:
cursor: pointer;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы