jQuery как запретить стандартную обработку ссылок?

Нужен САЙТ? Заказуй у меня - Жми сюда! Нужен хостинг или домен? Жми сюда! Хочешь создать интернет-магазин? Жми сюда! (Shopify)

В этом посте мы рассмотри jQuery код который отменяет стандартную обработку ссылок, т.е. отменяет переход по указанному url в атрибуте href.

HTML код демо-примера:

  <ul id="tabs">
      <li class="tab"><a href="http://webcomplex.com.ua">Ссылка №1</a></li>
      <li class="tab"><a href="http://webcomplex.com.ua">Ссылка №2</a></li>
      <li class="tab"><a href="http://webcomplex.com.ua">Ссылка №3</a></li>
  </ul>

jQuery код скрипта:

    $("#tabs .tab").on("click", "a", function(e){
    	e.preventDefault(); //отменяем переход по ссылке
    	
    	alert("Нажата: " + $(this).text()); //выводим сообщение, что ссылка была нажата
    });

или так

    $("#tabs .tab a").click(function(e){
    	e.preventDefault(); //отменяем переход по ссылке
    });

 

Переход по ссылке после подтверждение пользователем

По вопросам из комментариев, решил внести пример, когда пользователь должен подтвердить переход по ссылке.

$("#tabs .tab").on("click", "a", function(e){
    	e.preventDefault(); //отменяем переход по ссылке
    	
    if ( confirm("Вы желаете перейти по адресу: " + $(this).attr('href')) ) {
       location.href = $(this).attr('href');
    } 
});

 

Нужен САЙТ? Заказуй у меня - Жми сюда! Нужен хостинг или домен? Жми сюда! Хочешь создать интернет-магазин? Жми сюда! (Shopify)

Делясь ссылкой на пост в социальных сетях - Вы помогаете развитию блога! Спасибо ;)

(3 голосов. Рейтинг: 5,00 из 5)
Loading...Loading...

Метки:

Рубрика: Как сделать?

Комментарии (4)

| RSS комментария

  1. Юлия:

    Спасибо Вам. Очень интересный скрипт. А трудно ли сделать, чтобы в alert выскакивала форма подтверждения, которая бы содержала блокируемую ссылку? То есть, своеобразное подтверждение от пользователя, что он действительно хочет перейти по ссылке.

  2. php_proger:

    Скажите, а как в примере «http://jsfiddle.net/b9qz2aoy/» делать переход по ссылке в том же окне браузера, а не в новом? Спасибо!

Оставьте свой комментарий