«Пустые» адреса для ссылок с JavaScript-обработчиками

11.11.2009 22:31 / Артём Волк / 1011 просмотров / ...

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

Если в качестве значения аттрибута href указать значение javascript:;, например так:

<a href="javascript:;">Кликни меня</a>

всё, казалось бы, работает так, как нужно, срабатывает обработчик, перехода на другую страницу не происходит. Однако есть неприятная особенность: если в Internet Explorer 6 пользователь успеет кликнуть на такую ссылку до полной загрузки страницы — больше JavaScript на странице работать не будет до обновления страницы в браузере.

Текущим вариантом решения проблемы является использование такой записи ссылок:

<a href="#">Кликни меня</a>

И остановка дальнейшей обработки события внутри обработчика.

Более правильный вариант решения проблемы ищется...