Anythingslider Touch Swipe функциональность останавливает обычное нажатие на ссылки на IOS и планшетных устройствах - PullRequest
3 голосов
/ 05 января 2012

Я использую плагин JQuery для любого слайдера с сенсорными событиями.Похоже, что он работает должным образом на всех устройствах, что позволяет пользователям «пролистывать» прикосновения к планшетам и устройствам IOS и с помощью мыши на рабочем столе.текст, являющийся ссылками, не может быть «выделен» (ссылка активирована) планшетами и устройствами ios, текст поддерживает стиль hover css, но касание ничего не делает.

щелчок мышью на рабочем столе все еще работает ипользователи могут переходить по статьям.

есть идеи, как заставить это работать на всех устройствах?

т.е. мне нужно иметь возможность скользить, а также выбирать ссылки в слайдере.

Я думаю, что у меня есть следующие варианты: 1. ограничить эффект прокрутки изображениями, оставляя текстовое поле активным для нажатия 2. добавить к опции jquery, что при нулевом движении активировать ссылку 3. изменить z-индекстекст над надписью «swipe overlay» div

Я понятия не имею, как кодировать варианты 1 или 2. Совет, пожалуйста?

пункт 3, я постараюсь в это время.

Ответы [ 3 ]

6 голосов
/ 12 августа 2012

В качестве альтернативы (если вы не хотите изменять их источник) вы можете привязать следующий обработчик к событию Click TouchSwipe (я использую jQuery, но вы поняли):

function (e, target) { $(target).click(); }

Это приведет к всплытию события.

ОБНОВЛЕНИЕ С КОДОМ ОБРАЗЦА SNIPPET:

$(document).swipe({
  swipe:function(event, direction, distance, duration, fingerCount) {
  },
  click:function (event, target) {
    $(target).click();
  },
  threshold:75
});
3 голосов
/ 06 января 2012

Вы прослушиваете событие touchstart, и вы вызываете protectDefault (), который предотвращает всплывание события до события click.Если вы удалите его, но сохраните его в движении и завершите события, оно должно работать.

1 голос
/ 12 декабря 2012

Вы просто должны удалить это:

e.preventDefault();
...