Почему device.js + ipad3 не работает?

Есть конструкция

<a href="tel: 123" class="link">
 <span>text</span>
</a>


$('.link').on('click', function(e) {
  if (!device.mobile()) {
    e.preventDefault();
                
     // вызов попапа

  }
 });


при клике на десктопе и планшете должен вызываться попап, а в мобилке отправляться звонок. Реализовал эти условия через device.js, проверял на iPad Mini, андроид-телефоне - всё работает как надо. Проверил на iPad 3 - идёт вызов...

Проверял даже так
$('.link').on('click', function(e) {
  alert('test');
  if (!device.mobile()) {
    e.preventDefault();
                
     // вызов попапа

  }
 });

и алерта нет

Что я делаю не так?
  • Вопрос задан
  • 2494 просмотра
Решения вопроса 1
@amir73911 Автор вопроса
Нашел причину: если в href ссылки есть "tel:", то iOS напрочь отметает все события, повешанные на эту ссылку, и выполняет только дефолтное значение - звонок.
Решил проблема так: на планшете и десктопе заменяю href у ссылок на # и всё работает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
bootd
@bootd Куратор тега HTML
Гугли и ты откроешь врата знаний!
Если идти на офф сайт, то через эмулятор(chrome) у меня нормально работает!

Проверьте что возвращает метод! Откройте офф страницу и узнаете! Вот и вам ответ
Ответ написан
Ваш ответ на вопрос

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

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