Голосование

Как вы "глушите" ссылки, обрабатываемые javascript'ом

Пишу по привычке href="javascript: void(0)"
13 (31.7%)
Пишу по привычке href="#".
11 (26.8%)
Пишу href="javascript: void(0)" или href="#" потому-что так пишут другие.
6 (14.6%)
Не пишу атрибут href вообще
5 (12.2%)
Не использую <a>. Пишу <span> или <div>
6 (14.6%)

Проголосовало пользователей: 41

0 Пользователей и 1 Гость просматривают эту тему.
  • 45 Ответов
  • 26513 Просмотров
*

danik.html

  • Практически профи
  • 2659
  • 348
Просьба приводить доводы по поводу использования предложенных вариантов.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

mohax

  • Живу я здесь
  • 909
  • 63
Код
javascript: void(0) 
По привычке. Даже не задумывался никогда.
*

SDKiller

  • Dev Team
  • 2734
  • 320
  • ...ergo sum
onclick обычно на span вешаю или img - по ситуации
*

Efanych

  • Группа развития
  • 4317
  • 605
Вообще без href толком тегом <a> не считается. Его потом геморно настраивать в CSS.
Создание сайтов, шаблонов, помощь в решении проблем.
*

Fedor Vlasenko

  • Профи
  • 3806
  • 698
  • Все начинается с Value
*

danik.html

  • Практически профи
  • 2659
  • 348
Вообще без href толком тегом <a> не считается. Его потом геморно настраивать в CSS.
В чем гемор? Очень часто пишу <a> без href. Никаких проблем не наблюдаю.
Хотя так-то да - нужно <a href="*"> использовать только для ссылок.
Для элементов, событие onclick на которых обрабатывается скриптом - использовать <button> , <span> или <div>

Писать <a href="#">  - глупо. Очень глупо. Начнем с того, что дефолтное действие при клике по такой ссылке -  переход в начало страницы. На этом и закончим - нам нужно это? Нет. Так зачем так писать?
Писать <a href="javascript:;"> тоже глупо. Ну объясните, какой в этом смысл?

Тем не менее, отмечу один момент. В браузере элементы <a> с атрибутом href без лишних действий учавствуют в обходе по табу. Но ведь есть tabindex.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Efanych

  • Группа развития
  • 4317
  • 605
Цитировать
В чем гемор? Очень часто пишу <a> без href. Никаких проблем не наблюдаю.
a:link, a:visited цепляются?
Ну а в итоге как правильно-то? Если href нужен всё-таки. <a href="*">?
Создание сайтов, шаблонов, помощь в решении проблем.
*

Dmitry_

  • Осваиваюсь на форуме
  • 47
  • 3
глушить ссылку href="#" не корректоно.

а почему автор забыл наиболее используемый вариант return false  ?
*

danik.html

  • Практически профи
  • 2659
  • 348
глушить ссылку href="#" не корректоно.
Да зачем ее вобще глушить? Не создавать - да и делов. Че, кроме тега <a> нет больше никаких?
Нужна ссылка - пишем <a href="link.html"> , нужна кнопка пишем <button id="bla-bla"> или <span role="button id="bla-bla"> или <span class="button" id="bla-bla">
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Dmitry_

  • Осваиваюсь на форуме
  • 47
  • 3
Цитировать
Да зачем ее вобще глушить?

очень часто без сылки просто не обойтись,

правильный вариант заглушки выглядит так:

<a href="" onclick="return false;">LINK</a>
*

danik.html

  • Практически профи
  • 2659
  • 348
очень часто без сылки просто не обойтись,

правильный вариант заглушки выглядит так:

<a href="" onclick="return false;">LINK</a>
А какой смысл этой записи? Если мы по ссылке все-равно не сможем перейти?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Dmitry_

  • Осваиваюсь на форуме
  • 47
  • 3
Цитировать
Если мы по ссылке все-равно не сможем перейти?

то есть если записать <a href="">LINK</a>

то мы по ссылке не сможем перейти?

lol :)
*

danik.html

  • Практически профи
  • 2659
  • 348
Dmitry_ , че за издевка?
1) Если мы оставим атрибут href пустой, то в качестве результирующего href будет текущий урл. И без onclick="return false" по клику будет происходить переход по ссылке, а по факту - перезагрузка страницы.
2) Если мы пишем  onclick="return false", как ты предлагаешь, то мы не сможем перейти по ссылке.
Что тут не ясно?

Навешивать onclick нужно только, когда мы переопределяем действие , которое должно произойти по клику. Тоесть , например вместо перехода по ссылке должен произойти ajax-запрос и подгрузиться контент. С оключенным js для браузера, а так же для поисковика ссылка останется ссылкой. А другого применения onclick на ссылке я не вижу. А оно есть?
« Последнее редактирование: 30.05.2012, 08:45:10 от danik.html »
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Пишу <a href="#"></a> и вешаю глобально в scripts.js:
Код: javascript
$("a[href=#]").click(function(){
return false;
});
Смешаный, получаецо, метод? ^-^ Чем плоха конструкция?
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

danik.html

  • Практически профи
  • 2659
  • 348
А чем хороша? При отключенном js произойдет переход на несуществующий якорь - #
Зачем этот якорь вообще нужен? Чем не по нраву <span></span> ?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Dmitry_

  • Осваиваюсь на форуме
  • 47
  • 3
Автор топика, как названа тема?

Цитировать
Признавайтесь, кто из вас еще пишет javascript: void(0) или href="#"

причем здесь отключенный js? при отключенном js нормальные сайты, которые используют js, в том числе для заглушек :) выдают сообщения о том что js в вашем браузере отключен

вариант

Код
$("a[href=#]").click(function(){
return false;
});

отличается от <a href="" onclick="return false;">LINK</a>

тем, что он использует для заглушек, причем для все ссылок сразу, целую библиотеку jQuery

Цитировать
Чем не по нраву <span></span> ?

тег span довольно удобный, как удобен и div, но вопрос ведь был о теге <a> ?
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
А чем хороша? При отключенном js произойдет переход на несуществующий якорь - #
Зачем этот якорь вообще нужен? Чем не по нраву <span></span> ?
Тем, что на span надо ещё повесить .someclass:hover {cursor:pointer; text-decoration:underline; color:... и т.д.}, чтобы он вёл себя, как ссылка. А про выключенный js - это уже несерьёзно по-моему.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Автор топика, как названа тема?

причем здесь отключенный js? при отключенном js нормальные сайты, которые используют js, в том числе для заглушек :) выдают сообщения о том что js в вашем браузере отключен

вариант

Код
$("a[href=#]").click(function(){
return false;
});

отличается от <a href="" onclick="return false;">LINK</a>

тем, что он использует для заглушек, причем для все ссылок сразу, целую библиотеку jQuery

тег span довольно удобный, как удобен и div, но вопрос ведь был о теге <a> ?
Целую библиотеку jQuery я использую для целых 99,9% различных задач на сайте, а $("a[href=#]").click(function(){return false;}); я повесил только для того, чтобы к урл-у не прибавлялся некрасивый такой "#".
Цитата: danik.html
Писать <a href="#">  - глупо. Очень глупо. Начнем с того, что дефолтное действие при клике по такой ссылке -  переход в начало страницы.
Никуда ничего переходить не будет. :)
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

danik.html

  • Практически профи
  • 2659
  • 348
Dmitry_, к чему эти вопросы? Я думаю все поняли мой посыл - конструкции типа href="#" или onclick="return false" не имеют смысла.
И просил же  - доводы использования.
Вот, Shustry, например пишет
Код: javascript
$("a[href=#]").click(function(){
return false;
});
потому, что ему лень прописывать hover состояние для span. Странно что для a ему не лень это делать, или он довольствуется дефолтным hover-эффектом браузера.
Не знаю как у него, а у меня чаще активные элементы, обрабатываемые js-скриптом визуально отличаются от ссылок. А если и похожи на них, то как минимум имеют не сплошное подчеркивание, а border-bottom: 1px dotted;
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
danik.html, мне не лень прописывать a:hover, потому что конкретно для ссылки конкретно этот псевдокласс логичен и, напротив, лень прописывать span:hover, table:focus, div:visited и т.п. Чем так плоха конструкция href="#" - так и не аргументировали. Слабым, но всё же аргументом в мою пользу - понимание со стороны IE6. ^-^
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

danik.html

  • Практически профи
  • 2659
  • 348
Она не плоха, она бессмысленна. Это все-равно что писать <font face="Arial"></font> потому что лень прописать span{font-family: Arial}
А уж пользователи IE6 без ховера, думаю проживут. Я думаю это - наименьшее из зол, с которым они могут встетиться :)
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

SDKiller

  • Dev Team
  • 2734
  • 320
  • ...ergo sum
Кстати, аргумент по поводу отключённого js - ведь тот же эффект часто будет и при ошибках js
Например при конфликтах библиотек, когда после тебя понавешают всяких крутелок-вертелок.

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

Так что я даже из этих изображений предпочитаю не использовать <a>
*

smart

  • Администратор
  • 6846
  • 1298
В браузере элементы <a> с атрибутом href без лишних действий учавствуют в обходе по табу. Но ведь есть tabindex.
Есть, но tabindex определен у ограниченного набора элементов:  A, AREA, BUTTON, INPUT, OBJECT, SELECT, TEXTAREA. И далеко не всегда удобно использовать button или input.

Задавать атрибут href конечно не обязательно и я думаю, что в 90% случаев конструкция href="#" это просто привычка, ничем не обоснованная. Я тоже этой фигней страдаю, но как-то особо совесть по этому поводу не мучает.
*

danik.html

  • Практически профи
  • 2659
  • 348
Замечу, что если указано href="#", то событие onclick отрабатывается так же и при нажатии на Enter. А если такого атрибута нет - то ентер уже не работает.
По табиндексу верно подмечено. Хотя в современных браузерах табиндекс поддерживается для любых элементов (кажется это описано в html5)
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Убедил, теперь не использую href="#". Просто дело привычки. Ещё со времён IE6 осталось, тот нативно понимал :hover только для линков. ^-^
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

Alldar

  • Тестеры
  • 1500
  • 185
вопрос зачем вам тогда этот тег? если вы не куда не ссылаетесь
Пожалуйста не дублируйте сообщения в личку/skype/google+. Все вопросы задавайте на форуме! Спасибо!

Клуб шаблонов для Joomla - NorrTheme
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Имеются в виду элементы инерактива: спойлеры, слайдеры, попандеры, аккордеоны... То, что реально никуда не ведёт. Псевдоссылки в общем.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

danik.html

  • Практически профи
  • 2659
  • 348
вопрос зачем вам тогда этот тег? если вы не куда не ссылаетесь
Ну, элемент a не обязан куда-то ссылаться. Но смысл в том, что если он никуда не ссылается, то и атрибут href не надо писать, с какими то там еще фэйковыми значениями.
Использовать элемент a (без href) есть повод, даже не один:
- поддержка tabindex в старых IE
- a подразумевает под собой какой-то активный элемент (ну, может быть)
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Alldar

  • Тестеры
  • 1500
  • 185
The <a> tag defines an anchor. An anchor can be used in two ways:
  • To create a link to another document, by using the href attribute
  • To create a bookmark inside a document, by using the name attrib

Тут 2 варианта или использовать href или name target. Соответственно в слайдере нужно использовать или target (и таргет убрали значит видимо rel?) или другой тег

Вообще идеально наверное вот так
<nav>
<span class="prev">Previous</span>
<span class="next">Next</span>
</nav>

и навигацию обозначили и от <a> пустого избавились
« Последнее редактирование: 13.06.2012, 14:57:08 от Alldar »
Пожалуйста не дублируйте сообщения в личку/skype/google+. Все вопросы задавайте на форуме! Спасибо!

Клуб шаблонов для Joomla - NorrTheme
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как испортить себе карму или рецепт "хорошего" настроения

Автор effrit

Ответов: 927
Просмотров: 109406
Последний ответ 14.07.2017, 18:16:19
от smart
Весь вопрос в этой басне Михалкова "Слон живописец"

Автор Dannik

Ответов: 3
Просмотров: 169
Последний ответ 10.02.2017, 21:42:33
от AlekVolsk
Какой сейчас тренд по весу сайтов? Сколько "приемлимо"?

Автор fatalerror

Ответов: 2
Просмотров: 281
Последний ответ 24.10.2016, 19:27:47
от Septdir
Перенесено: Не могу создать "клиента" в Joomla 3.4.8

Автор b2z

Ответов: 0
Просмотров: 252
Последний ответ 29.01.2016, 10:13:09
от b2z
JavaScript тест-игра (You can't JavaScript under pressure)

Автор Филипп Сорокин

Ответов: 0
Просмотров: 370
Последний ответ 08.12.2015, 15:28:44
от Филипп Сорокин