href=”#” vs. href=”javascript: ;”

Комплект документов для внесения изменений в егрюл. Порядок внесения изменений егрюл.. office sharepoint server 2007

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

<a href="#" onclick="return someScript(this);" >Ссылка</a>

И вроде бы все соответствует тому, что нужно - ссылка не нажимается, перехода на другую страницу не происходит - солнце светит, птички поют, тестеры и заказчик довольны - все кул. НО! это пока не появляется вертикальной прокрутки на странице и пользователь ее не прокрутит вниз до того как нажмет на такую ссылку. Потому что как только он это сделает, прокрутка магическим образом прокрутится вверх :)

Проблема такого подхода собственно в том, что в html по ссылкам можно переходить не только на другие страницы - но и прокручиваться к элементам текущей. Сделано это через так называемые якоря. То есть, если к примеру, в каком-то месте страницы у нас есть:

<div id="aaa">дивка</div>

и есть ссылка:

<a href="#aaa">ссылка</a>

то по клику на ссылку - произойдет прокрутка к блоку div.

Если же указано просто href="#", то почему-то, браузеры считают что нужно сделать прокрутку в самое начало страницы.

Помнится, я долго бился с этой проблемой - и таки нашел альтернативу:

<a href="javascript: ;">ссылка</a>

По клику - никуда он не переходит и никуда ничего не прокручивает :)

ООО "Канцлер" сбывает прекрасный огнестойкий шкаф металлический в красноярске и картотека - скидки

Комментарии (4) на “href=”#” vs. href=”javascript: ;””

  1. Дмитрий:

    самый древний и классический вариант, почему про него все забыли?

    “javascript://”

  2. admin:

    Хм, не знал, спасибо. счас потещу :)

  3. Анонимно:

    Что мешает использовать всегда href=”#1″ и не давать таких странных названий как ???

  4. Евгений:

    Что мешает использовать всегда href=”#1″ и не давать таких странных названий как div id=”1″?

Оставить комментарий

В Вашем браузере отключена поддержка JavaScript! Для корректной работы Вам необходимо включить поддержку JavaScript и обновить данную страницу.

Информеры с тИЦ и PR: получить код для сайта
Мы можем предложить: чистая вода в офис. Доставка воды в офис, быстро.