2014-09-29 3 views
0

, потому что у меня есть изображения и состояния наведения наведения, я использую общую часть кода, чтобы убедиться, что вам не нужно дважды нажать, чтобы открыть ссылку на iOS. Посмотрите вниз для использования кода.touchhend и target _blank не сотрудничает

Однако, я заметил, что при использовании ссылки сейчас с target = "_ blank" она открывается как в родительском, так и в новом окне. Как я могу предотвратить это? Естественно, я хочу, чтобы родительская вкладка осталась на текущем веб-сайте.

Кроме того, я также заметил, что javascript, похоже, немного нажал на чувствительную сторону, то есть иногда он уже открывает ссылку на следующей странице только одним нажатием. Это нормально? Есть ли решение для этого?

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

ответ

1

Вы можете использовать e.preventDefault(); отменить собственное поведение, а затем использовать window.open (link, target); чтобы открыть ссылку в соответствующей целевой строке:

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

}); 
+0

Спасибо! Итак, если я правильно понимаю, он сохраняет поведение на устройствах с сенсорным экраном и отменяет его на устройствах с щелчком мыши? Кроме того, правильно ли я понимаю, что после использования этого кода просто введите target = "_ blank" или мне нужно включить какой-то скрипт в ссылку? (извините, я не очень разбираюсь в javascript) –

+0

на iOS и обычных браузерах теперь все ссылки открываются в новом окне. Я пытаюсь иметь только те, у которых целевой атрибут _blank открывается в новом окне ... –

+0

Используйте атрибут target = "_ self", чтобы открыть ссылку на той же вкладке. –

Смежные вопросы