Различные методы для создания нулевой ссылки?
Есть ли способ сделать нулевую ссылку, помимо этих методов?
<a href="javascript:;">Example</a>
<a href="javascript:void(0);">Example</a>
<a href="#">Example</a>
Я не возражаю против того, что страница переместится вверх, но я не хочу, чтобы она меняла URL-адрес в адресной строке. Идеальная ссылка была бы максимально похожа на те, которые были показаны на навигационных блоках в Википедии, но есть гораздо больше, чем кажется на первый взгляд, так как у нее довольно большой скрипт, связанный с ней. Я просто смотрю на то, чтобы положить в a
тега.
Заранее спасибо.
Ответы
Ответ 1
Вам просто нужно что-то, что вы можете вставить в тег <a>
? ОК:
<a href="#" onclick="return false;">Example</a>
Объедините его с любым из методов href=
из вашего вопроса.
Учитывая, что ссылка, которая не идет никуда, довольно бесполезна, могу ли я предположить, что вы хотите запустить функцию JavaScript при нажатии ссылки? Если да, сделайте следующее:
<a href="#" onclick="yourFunctionHere(); return false;">Example</a>
Ответ 2
Метод # является самым простым и всегда совместим. Однако использование href= # переместится в начало страницы. Чтобы предотвратить скачок, просто укажите неназванный якорь. Как это:
<a href=#nothing >This link has a null href!</a>
<a href=#doesnotexist >This link has a null href!</a>
<a href=#null >This link has a null href!</a>
<a href=#void >This link has a null href!</a>
<a href=#whatever >This link has a null href!</a>
Ответ 3
В Википедии используется третий вариант. Чтобы использовать это, вы можете использовать этот HTML-код:
<a href="#">link</a>
Затем присоедините обработчик событий с помощью JavaScript:
// I assume 'link' is set the element shown above.
link.addEventListener('click', function(e) {
alert("You clicked me!");
e.preventDefault();
e.stopPropagation();
return false;
}, false);
addEventListener
должен работать в большинстве современных браузеров, но чтобы быть более совместимым и более кратким, вы можете использовать библиотеку JavaScript, такую как jQuery:
$("a").click(function() {
alert("You clicked me!");
return false;
});
Ответ 4
Нет, все потенциально допустимые альтернативы не выполняются ИМО. Я сделал следующие эксперименты с Chrome и Firefox, сумев выделить 2 дополнительных альтернативы тем, которые уже были предложены в вопросе и ответах.
Те, которые провалились (НЕ пустые ссылки):
Этот файл не отображается как ссылка вообще, и он не доступен для просмотра.
<a>null-link-1</a>
Следующая альтернатива при щелчке переместилась в начало документа - не пустая ссылка.
<a href="">null-link-2</a>
Следующая альтернатива при щелчке перемещается в сторону от документа, а не нулевой.
<a href=";">null-link-3</a>
Следующая альтернатива при нажатии, при нажатии, переходит к началу документа - не к нулевой ссылке.
<a href="" onclick="javascript:;">null-link-4</a>
Теперь вот те, которые работали: True Null Links:
Обе альтернативы ниже, при нажатии, ничего не делают - нулевые ссылки? ДА.
<a href="" onclick="return false;">null-link-5</a>
Этот другой почти такой же, как и выше, но предлагается в качестве истинной альтернативы, в основном для ее краткости.
<a href="" onclick="return !1;">null-link-6</a>
ПРИМЕЧАНИЕ. Одним из ключевых различий между моими рабочими решениями и решениями nnnnnn является то, что я предпочитаю пустой href
, иначе они работают по тому же принципу.
Ответ 5
Я думаю, что вы могли бы сделать все, оставив пустой href, это покажет ссылку на текущую страницу:
<a href="" >Example</a>