почему разработчики используют href="javascript:;"
Почему разработчики используют href равно javascript?
e.g.:Content в теге:
<a class="anchor" title="title" href="javascript:;" id="someId">...</a>
почему разработчики используют href="javascript:;"
Почему разработчики используют href равно javascript?
e.g.:Content в теге:
<a class="anchor" title="title" href="javascript:;" id="someId">...</a>
javascript:
псевдо-протокол указывает браузеру, что далее следует JavaScript код, который должен выполняться при нажатии на ссылку. Далее в вашем примере будет no-op, и поэтому щелчок по ссылке ничего не делает. Обычно это используется, когда ссылка не используется как ссылка, а скорее как кнопка, где фактическое поведение, которое хочет кодер, задается обработчиком click
.
Я вижу. это для браузера или для других разработчиков? Что делает браузер с этой информацией? – ciochPep
Этот ответ правильный, но ему нужно немного больше информации. Использование «javascript:» в 'href' ПРЕДВАРИТИРОВАНИЕ существования обработчиков DOM0, таких как' onclick' и т. Д. Как только 'onclick' существовал,' javascript: 'больше не должен был использоваться. –
@ciochPep: Как я уже сказал, браузер интерпретирует то, что следует за javascript: 'как код JavaScript и выполняет его. В этом случае этот код ничего не делает. Таким образом, вы получаете что-то, что выглядит и действует как ссылка, но не является ссылкой. –
из моего опыта использования, если люди используют <a href="www.google.com">
Я могу щелкнуть правой кнопкой и открыть его на новой вкладке. Но если это href=javascript:openLink()
, я не могу открыть его на новой вкладке
Хороший вопрос. Это так, что их ссылка ничего не делает. Возможно, разработчик добавляет функцию javascript динамически, используя JQuery click event или что-то подобное.
Кажется, что унаследованная дурная привычка есть. Они, вероятно, хотят стиль href, но затем не хотят его функциональности. Вы можете легко сделать это, не используя href. В некотором смысле они говорят «Вот значение для ссылки», а затем сразу же «игнорируют значение для моей ссылки».
Существует хорошее обсуждение здесь: Unobtrusive Javascript
According the the w3schools значение для HREF должно быть URL или скрипт. Когда кто-то делает href="javascript:;"
Они используют скрипт, который ничего не делает. Они просто делают это, чтобы они могли использовать стиль/табуляцию предложений href ... которые, на мой взгляд, должны быть сделаны другим способом, как использование классов css.
Также в соответствии с the w3schools тег не может использовать некоторые другие атрибуты, если href отсутствует, но в HTML5 тег должен использоваться только для гиперссылок.
это не отправит вас на URL-адрес вместо этого запустит javascript при нажатии – polin
, какой код javascript будет запущен? что произойдет, если href будет пустым? он не будет запускать javascript? – ciochPep
в этом случае он ничего не сделает. – polin