Итак, совсем недавно я работал над веб-сайтом, на котором мне помогали улучшать и реагировать, и одна из проблем, с которыми я столкнулся, заключается в том, что есть многие элементы, которые можно кликать, со смесью CSS и jQuery-эффектов для состояний зависания.Отключить двойное нажатие, чтобы щелкнуть на сенсорных устройствах iOS
Теперь, во-первых, я бы предпочел, чтобы все эти состояния наведения были CSS, но основная проблема, которую я испытываю, заключается в том, что в этих состояниях наведения некоторые элементы меняют display
и visibility
свойства css. Я сделал некоторое чтение, и, по-видимому, если это так, на сенсорных iOS-устройствах это приводит к тому, что первое нажатие нажимает на зависание, а затем требуется второй щелчок, чтобы на самом деле щелкнуть элемент.
Я пытаюсь найти решение, которое не требует много изменений разметки и стилизации. Предпочтительно использовать jQuery/JavaScript для исправления.
Я попытался следующим:
$(document).ready(function() {
$('a').on('click touchend', function(e) {
var el = $(this);
var link = el.attr('href');
window.location = link;
});
});
Однако это имеет проблемы, когда пользователь держит палец вниз на интерактивный элементе, и тащит страницу для прокрутки. Когда они отпускают палец после перетаскивания, window.location
по-прежнему изменяется.
При необходимости я добавлю jsFiddle позже.
Заранее спасибо.
EDIT:
Вот jsFiddle, который показывает эту проблему. http://jsfiddle.net/0bj3uxap/4/ Если вы нажмете один из блоков, вы увидите, что он показывает состояние зависания, тогда вам нужно снова нажать, чтобы на самом деле запустить событие щелчка.
Кажется, что когда элемент скрыт, а затем состояние зависания показывает элемент.
Спасибо большое. Это хорошо работает для меня. Моя проблема: я должен нажать 2 раза по тегу , чтобы активировать его ссылку на iPad. – binhdocco