Зачем использовать 'href="javascript:void(0);"' вместо чего-то более удобного для пользователя?

Я новичок в веб-дизайне и JavaScript, и я не понимаю, почему веб-дизайнеры часто используют приведенный ниже синтаксис void(0):

 <a onclick="this.blur();return false;" href="javascript:void(0);" class="btn">

Поскольку в действительности это проявляется в левом нижнем углу браузера, почему бы не придумать способ сделать его более удобным для пользователя? Возможно, это потому, что у дизайнеров нет времени, чтобы заняться подобными настройками пользовательского интерфейса.

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

2 ответа

Решение

Если это просто полезность для конечного пользователя, то это может подойти?

<a onclick="this.blur();return false;" href="#Click to hide" class="btn">

так как вы все равно возвращаете false, он может содержать что угодно

<a onclick="this.blur();return false;" href="Click to hide" class="btn">

Тем не менее, я думаю, что причина этого в том, что если у вас отключен JavaScript, это на самом деле не будет иметь никакого эффекта, в отличие от написания чего-то еще, что будет (первый пример изменит хеш / якорную часть URL, второй вероятно, приведет к ошибке). В любом случае, они все равно будут выглядеть забавно (с добавлением исходного URL).

Опять же, если эта вещь видна только благодаря javascript, я бы сказал, что нужно идти дальше и предположить, что javascript доступен. Хотя я все еще ошибаюсь на всякий случай и все равно использую хеш...:)

Редактировать:
Я только что понял, что не все браузеры показывают строку "#" href в строке состояния (любой браузер делает это?), Поэтому я бы использовал javascript:void(0); или просто # если вы не используете якоря для чего-либо, вместо этого установите для атрибута title что-то описательное.

Редактировать:
Я думаю, что я был слишком быстр... Я думаю, что javascript:void действительно, чтобы избежать какого-либо эффекта. Однако лучшее решение было бы не использовать a-все теги (обычно я просто добавляю onclick к чему-либо, на самом деле я обычно использую jquery, а потом добавляю его к определенным классам или идентификаторам).

Идеальное решение - опираться на то, что работает.

В этой статье обсуждается прогрессивное усовершенствование с использованием библиотеки javascript библиотеки пользовательского интерфейса Yahoo для улучшения доступности событий взаимодействия, имитируемых javascript.

цитировать: Кристиан Хайльманн

Другие вопросы по тегам