![]() |
Модераторы: Illuminaty |
![]() ![]() ![]() |
|
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
Проблема такая у меня:
На сайте несколько ссылок, но не все ссылки - просто ссылки. Некоторые особенные. При нажатии на эти ссылки выполняется скрипт и этот скрипт должен определять тип ссылки и в зависимости от этого выполнять то или другое действие. пример(чего хочется): <a href="1.html" command="go" onclick="executeCommand(this)">Перейти на 1</a> <a href="2.html" command="run" onclick="executeCommand(this)">Перейти на 2</a> <a href="3.html" command="swim" onclick="executeCommand(this)">Перейти на 3</a> Handler "onclick" присваивается всем ссылкам автоматически скриптом, а юзер уже с помощью "command" контролирует ситуацию. |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 97 Всего: 401 |
Браузеры поймут, если прямо так и написать - незнакомые атрибуты никак не повлияют на отображение, но будут доступны скрипту через getAttribute. Валидной, правда, такая верстка не будет, но на практике это никакого значения не имеет. Можно, конечно, написать свой DTD (наподобие того, как здесь к DTD XHTML1.1 добавили атрибут target), но это имеет смысл лишь в одном случае - если XHTML-страницу для какой-либо цели предполагается парсить сторонним валидирующим парсером. Для браузеров так изголяться не нужно, им валидность по DTD побоку...
Альтернативный вариант - передавать нужные параметры через существующие атрибуты, напр. rel и class (как делают микроформаты). -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
||||
|
||||
POLTER |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 25.8.2006 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
Используешь вместо атрибута "command" атрибут "rel". Т.е. что-то типа <a href="#" rel="go" onclick="executeCommand()">Перейти на 1</a> А в яваскрипте уже получаешь команду через getAttribute:
Добавлено через 56 секунд Таким образом, сохраняется валидность страницы и при этом можно хранить нужную информацию в этом атрибуте. --------------------
Существует 10 типов людей: те, которые понимают твоичный код и те, которые его не понимают. |
||||
|
|||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 97 Всего: 401 |
Например, наподобие такого:
<a href="1.html" class="toolbar command_go" onclick="executeCommand(this)">Перейти на 1</a> <a href="2.html" class="toolbar command_run" onclick="executeCommand(this)">Перейти на 2</a> <a href="3.html" class="toolbar command_swim active" onclick="executeCommand(this)">Перейти на 3</a> и в скрипте
Преимущество атрибута class в этом смысле - что там абсолютно легально может быть несколько практически чего угодно). Не знаю, правда, скажется ли такое нецелевое использование классов на скорости рендеринга страницы... А про микроформаты неплохо написано здесь (хоть статья и старая)... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |