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

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

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

  <ul id="tabs">
      <li class="tab"><a href="//webcomplex.com.ua">Ссылка №1</a></li>
      <li class="tab"><a href="//webcomplex.com.ua">Ссылка №2</a></li>
      <li class="tab"><a href="//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');
    } 
});

 

(5 голосов. Рейтинг: 4,20 из 5)
Загрузка...

Метки:

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

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

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

  1. Юлия:

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

  2. php_proger:

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

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