logo

Отключение интерактивности ссылки HTML без JavaScript

Быстрый ответ

Если вам необходимо быстро отключить ссылку, можно это сделать, добавив onclick="return false;", что препятствует выполнению её основной функции — переходу по указанному адресу:

HTML
Скопировать код
<a href="#" onclick="return false;">Неактивная ссылка</a>

Или, как альтернатива, используйте CSS для отключения взаимодействия и изменения визуального оформления ссылки:

CSS
Скопировать код
/* Как бы сказал Гэндальф: "Пройти нельзя!" */
.disabled { pointer-events: none; color: gray; cursor: default; }
HTML
Скопировать код
<a href="#" class="disabled">Неактивная ссылка</a>

Остаёмся верными href

Не изменяя атрибут href, мы поддерживаем SEO-привлекательность и улучшаем взаимодействие с пользователем. Ссылка остаётся активной, но не выполняет свою основную функцию:

HTML
Скопировать код
<!-- Ссылка под видом маскировки -->
<a href="#" class="disabled" tabindex="-1">Неактивная ссылка</a>

JavaScript против CSS: Бой методов

Директива onclick="return false;" функционирует только при включённом JavaScript. В то время как pointer-events: none; — это CSS-метод, блокирующий возможность взаимодействия со ссылкой и не требующий активации JavaScript.

Удаление href

Если удалить атрибут href, ссылка превращается в простой текст, подобно Кларку Кенту, снявшему плащ Супермена. Это, однако, может отразиться на аксессуарности и функциональности элемента.

Изменение указателя курсора

Свойство cursor: default; предупреждает пользователя, что действия с элементом не требуются, так как взаимодействие невозможно.

Использование класса 'disabled'

Использование класса class="disabled" — это упрощённый "язык" для эффективного отключения ссылок и координации действий разработчиков.

Внимание к доступности

Так же, как и специализированные парковочные места для людей с ограниченными возможностями, aria-disabled="true" информирует вспомогательные технологии о том, что в данный момент ссылка недоступна.

Визуализация

Пример отключенного href может выглядеть следующим образом:

Markdown
Скопировать код
Активный href:  [🔍📂🌍]   # Поиск (Нажатие) находит Файл (Веб-страницу) в Мире (Интернете)
Неактивный href: [🔍🔒🌍]   # Замок (Неактивная ссылка) препятствует Поиску в нахождении Файла

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

Смена ролей: Динамические изменения в пользовательском интерфейсе

Для динамического переключения активности ссылки рекомендуется использовать JavaScript для добавления или удаления класса 'disabled':

JS
Скопировать код
// Превращаем Кларка Кента в Супермена...или наоборот
document.getElementById("myLink").classList.toggle("disabled");

Всё в визуале

Измените оформление неактивных ссылок, чтобы пользователь мог это обратить внимание. Рассмотрите использование серого цвета, полупрозрачности или измените форму курсора на not-allowed, подчёркивая, что взаимодействие не возможно.

Неактивные ссылки: Пересмотр идентификации

Если ссылка должна быть постоянно недоступной, то почему бы не изменить её роль, преобразовав в элементы <span>, <div> или <p>? Это поможет избежать путаницы и улучшит взаимодействие с пользователем.

Полезные материалы

  1. HTML атрибут href — Основная информация об атрибуте href у тегов ссылок.
  2. pointer-events | CSS-Tricks — Подробное рассмотрение свойства pointer-events в CSS.
  3. Добавление/удаление HTML контента внутри div с использованием JavaScript — Создание динамических изменений HTML-содержимого с помощью JavaScript.
  4. <a>: Элемент Anchor – HTML | MDN — Глубокое погружение в суть тега <a> и его атрибутов.
  5. Отключение ссылок с помощью CSS — Пример изменения стилей ссылок для визуализации их неактивности с помощью CSS.