2015-04-24 4 views
2

Моя проблема заключается в следующем: на моем локальном веб-сайте мое главное меню имеет эффект наведения (нижний нижний). Как мы знаем, для доступа к сенсорным устройствам требуется двойной щелчок. Есть ли возможность отключить эффект зависания только на сенсорных устройствах?Отключить эффект зависания только на сенсорных устройствах

Я уже пробовал следующее:

$('a').on('click touchend', function(e) { 
    var el = $(this); 
    var link = el.attr('href'); 
    window.location = link;}); 

В том, что хорошо работает. Мне не нужно дважды использовать ссылку, она отлично работает, но на моем рабочем столе все обычные ссылки загружаются на дополнительную вкладку (как обычно), но также и на той же вкладке. Таким образом, внешние ссылки открываются дважды. Есть ли шанс избежать этого?

Надеюсь, вы понимаете, что я имею в виду.

Заранее благодарен!

+1

положить запятую между кликом и касанием –

+0

Серьезно? Это сработало! Спасибо огромное! – Kelli

+0

haha ​​приветствуется xD –

ответ

0

Как указано в комментариях, просто оставьте «клик». Конечно, ваш настольный браузер прослушивает событие click и, таким образом, выполняет обработчик.

$('a').on('touchend', function(e) { 
var el = $(this); 
var link = el.attr('href'); 
window.location = link;}); 

Если вы хотите, чтобы открыть связь с целевой = «_blank» в новой вкладке на мобильных устройствах, а также, вы должны учитывать, что, проверьте целевой и использовать window.open() в этом случае вместо окна.

Обратите внимание, что в настоящее время есть настольные ПК с сенсорными дисплеями, которые также будут прослушивать событие «touchhend» и будут открывать ссылки дважды. Поэтому было бы неплохо проверить, действительно ли нужно открывать ссылки при втором щелчке, а не сначала щелкнуть первым.

+0

Я боюсь, что не удержался:/Я сделал то, что вы сказали, и теперь он работает как на ПК, так и на iPad. Но я просто не выбрал этот клик и оставил («touchhend», ... должно быть достаточно. что вы имели в виду с сенсорным ПК? Прямо сейчас ссылки target = "_ blank" открываются только на новой вкладке - так я ее и хотел. – Kelli

0

Ох ... Я проверил его снова с помощью обоих методов. Теперь версия для ПК работает нормально, но версия iPad не открывается (открывается новая вкладка и загружается также в том же самом). Так что все наоборот:/