Различные методы для создания нулевой ссылки?

Есть ли способ сделать нулевую ссылку, помимо этих методов?

<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>