Javascript: void (0) или onclick = "return false" для <a>- что лучше?

Существует интерфейс на основе javascript - поэтому мне не нужно поддерживать работу без javascript.

У меня есть

<a>Something</a>

элементы с JS-кодом, который привязывается к событию клика - поэтому я не хочу, чтобы перезагрузка страницы после щелчка пользователя.

Какой способ лучше?

1. <a href="javascript:void(0)">Something</a>
2. <a href="#" onclick="return false;">Something</a>

Какие преимущества и недостатки каждого метода?

Ответ 1

Оба - плохой выбор. Презентация не должна смешиваться с контентом. Это означает, что нет javascript: URI и, безусловно, нет атрибутов onclick.

Способ сделать это:

<a id="myLink">Something</a>
<script>
    function myFunction(...) { ... }
    document.getElementById('myLink').addEventListener('click', myFunction, false);
</script>

Ответ 2

Ни. Если ваша ссылка никуда не уходит, не используйте элемент <a>. Используйте <span> или что-то еще подходящее и добавьте CSS, чтобы создать его по своему желанию.