2011-10-24 2 views
3

У меня есть элемент <a href="javascript: void(0)" id="bar">foo</a>. #bar имеет событие click. Я говорю фрилансеру, что вместо этого было бы лучше использовать <div /> (со стилем cursor: pointer;, если необходимо), а не гиперссылку, так как фактический href="" не используется в любом случае и нет возврата (и не может быть в этом случае) для JS- нет версия.правый элемент для привязки события

Однако это происходит из-за моего рационального мышления & моего опыта. Таким образом, может ли кто-нибудь сказать мне, правильно ли я говорю последнее и, если возможно, предоставить ссылку на ресурс, обсуждающий это более подробно?

ответ

3

Это очень хороший философский вопрос.

Однако, я рекомендую использовать кнопку . Вместо этого интерактивный div.

Обоснование этого заключается в том, что <div> предназначен для семантического контейнера, где кнопка означает «сделать что-то на странице», что намного лучше описывает то, что вы пытаетесь достичь.

Как правило, любые <a href="javascriot:void(0)"> или <a href="#"> могут быть заменены на <button>.

2

Вы правы, говоря, что вам не следует использовать ссылку, которая нигде не связывается - это определенно плохая семантика.

Но подумайте об использовании чего-то более значимого, чем <div> (раздел/раздел страницы). Это кнопка, которую вы нажимаете? Используйте <button>. Может быть, это больше вариант меню? Использовать <menu> и <command> (http://www.w3.org/TR/html5/interactive-elements.html#the-command-element). Это хороший ресурс для поиска наилучшего элемента в соответствии с вашими потребностями:

http://joshduck.com/periodic-table.html

+0

Hm. Проблема с элементом '

Смежные вопросы