Как указать ссылки, используемые в качестве хуков для JS?Или rel = "js" семантическая замена - PullRequest
4 голосов
/ 21 августа 2011

Я ищу хороший / семантический / способ прохождения проверки для указания моих ссылок, которые используются в качестве хуков для JavaScript.

<a href="somelink" rel="js">link</a>

Как я понимаю, " rel "больше об отношениях между документами.Также «data-lang» ( отсюда ) не кажется достаточно хорошим решением.

Заранее большое спасибо!

Ответы [ 2 ]

2 голосов
/ 21 августа 2011

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

1 голос
/ 21 августа 2011

Если ссылка является «расширенной» ссылкой, это будет делать почти то же самое, что и обычная ссылка, но более «удобным» способом - например, навигационной ссылкой, когда JavaScript включенстраница перезагрузит только «контентную» часть страницы и обновит адрес страницы с помощью HTML5 History API - тогда я бы просто использовал семантический класс, фактически описывающий ссылки, такие как «навигация»".

В случае, если они являются триггерами JavaScript, и они не будут работать, когда JavaScript отключен - я бы предложил вообще не использовать элемент a.Из spec :

Если элемент a имеет атрибут href, то он представляет гиперссылку (гипертекстовую привязку).Если элемент a не имеет атрибута href, то этот элемент представляет собой заполнитель для того места, где в противном случае могла бы быть размещена ссылка, если бы она была релевантной.

Я считаю, что в большинстве случаев«триггеры действия» не совсем соответствуют описанию использования элемента a.Поэтому я бы предложил использовать элемент span, который будет стилизован таким образом, чтобы можно было предположить, что это триггер взаимодействияСнова цитируем spec :

Элемент span ничего не значит сам по себе, но может быть полезен при использовании вместе с глобальными атрибутами, например, class, lang или dir.Он представляет своих детей.

Еще одно предложение относительно этих триггеров: используйте эту строку кода (самое первое после <title> в заголовке вашего документа), чтобы дать вашему htmlelement a class js:

<script>document.documentElement.className = 'js';</script>

Затем в вашем CSS сделайте следующее:

/* 
assuming that this is your mark-up for the pseudo-links:
<span class="action-trigger">Beautiful transition</span>
*/
.action-trigger {
    display:none;
    visibility:hidden;
}
.js .action-trigger {
    display:inline;/* or whatever suits your styling of these elements */
    visibility:visible;
}

Таким образом, когда JavaScript отключен, пользователи не будут видеть "псевдоссылки"это будет призыв к действию, но на самом деле не сработает.

UPD.Семантически, в некоторых случаях вы также можете использовать элементы отправки формы, такие как <button>: например, вы можете инициировать отправку формы - все функции «голосование» / «симпатия» / «удаление» попадают в эту категорию.Что, когда JS отключен, действительно отправит эту форму, но когда JS включен, это вызовет действие на стороне вашего внутреннего API.

...