Зачем использовать '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.
цитировать: Кристиан Хайльманн