Задать вопрос
bootd
@bootd
Гугли и ты откроешь врата знаний!

Как избавиться от одновременного срабатывания тач и клик события на мобильных устройствах?

Добрый вечер ребята. Не давно решил событие touchstart для мобильных устройств и вышла маленькая проблемка.
Суть в следующем, на ПК не работает touchstart, а на мобильнике работает, что логично. Тогда на ум пришла идея использовать писать так:

$('.selector').on('touchstart click', function(e) {

});


И проблема вроде решилась, но вот на пк работает только клик, как и нужно, а вот на мобильнике как не трудно догадаться оба события!!!

Проверил это так:
$('.selector').on('touchstart click', function(e) {
if (event.type == "touchstart") {
            alert('Был тач')
        } 
        if (event.type == "click") {
            alert('Был клик')
        }
});


Как можно избавиться от клика на мобильном устройстве, но что бы он и дальше как нужно работал на ПК?

P.S. Уверен что спросите, зачем тач событие? Просто мне кажется что оно на сенсоре работает быстрее чем клик! И опять же, я просто хочу попробовать такую конструкцию.
  • Вопрос задан
  • 8271 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Вешайте только нужные события. Проверить можно так
if ('ontouchstart' in document.documentElement)
            touchSupport = true;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Yadalay
Php, Mysql, Html, Css, Js/Jquery/Ajax, Laravel
Не так проверку и условие сделали.
$('.selector').on('touchstart click', function(e) {
    if (e.type == "touchstart") {
        alert('Был тач');
    } else {
        alert('Был клик');
    }
});
Ответ написан
Ваш ответ на вопрос

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

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