Если вы хотите запретить переход по ссылке, вы должны добавить event.preventDefault()
в свой обработчик кликов (event.returnValue = false;
в IE).
Похоже, что вы просто просматриваете ссылки, а не ее функциональность (или цель). Если это так, вы можете использовать button
с CSS для стилизации его соответственно.
Следует избегать наличия реальных ссылок с содержимым href #
или javascript:void(0)
.
Дополнительные пояснения:
Использование ссылки просто для того, чтобы иметь что-то «кликабельное», нехорошо. Ссылка имеет четкое синтаксическое значение. Поскольку вы можете назначить обработчик событий click
каждому элементу, вы можете использовать любой другой элемент для этого.
Синтаксически наиболее правильным (imo) будет button
, так как у вас все еще будет возможность использовать tab
для навигации по ним. Вы можете стилизовать их с помощью CSS, чтобы они выглядели как ссылки ( см. Этот пример) .
Теперь относительно предотвращения действия по умолчанию:
Предполагается, что у вас есть нормальная ссылка с правильным значением href
, и вы хотите перехватить щелчок. В обработчике кликов, который вы назначаете элементу, например
link.addEventListener('click', function(event){
// some code
event.preventDefault();
}, false);
использование event.preventDefault()
предотвращает действие по умолчанию, которое в случае ссылки следует за URL.
(приведенный выше код является примером для W3C-совместимых браузеров, IE немного отличается)