Показать сообщение отдельно
  #46 (permalink)  
Старый 30.12.2009, 10:25
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Разберём на примере thickbox-a. Есть на странице куча не связанных с собой элементов, при клике на которые должно подниматься модальное окно (thickbox). При ready скрипт должен сам найти и проинициализировать (добавить обработчики в нашем случае).
Сообщение от x-yuri
Почему там не хватает id и классов?
Для этой задачи id вообще не подходят: количество элементов не извесно, а генерить id по маске по меньшей мере глупо. Можно на все элементы добавить класс thickbox (как раз что и делает этот плагин), но они ведь придуманы совсем для другого. Но и этого не достаточно.
Сообщение от x-yuri
Что за строка с параметрами в thickbox?
Ещё необходимы параметры. Thickbox это делает так:
<a href="#?TB_iframe=true&height=400&width=600" class="thickbox">link</a>

Но такой вариант подходит только для ссылок и не всегда бывает удобно их использовать.
Сообщение от x-yuri
Зачем навешивать невалидные атрибуты с JSON в качестве значения?
Не так давно я написал своё окно, которое указывается так:
<div modal="type:'info', width:'auto', height:'200', id:'id'">text</div>

Да, это не есть правильно из-за нестандартного modal, но использовать можно везде. Для валидности можно засунуть в своё пространство имен.

Конечно можно было обойтись и onclick, но кроме модального окна этот элемент выполняет ещё кучу действий, которые так же должны быть проинициализированны при ready. Если для каждого элемента добавлять onclick: страдает скорость разработки, дальнейшая поддержка, объём кода - проверенно. Это самый простой случай. Ещё бывает так, что есть набор элементов, связанных с другим набором, которые связанны с третьим. Эту связь необходимо указывать именно в разметке, чтобы потом легко понимать что к чему относиться. Для небольших связей подойдут и классы, а когда уровень вложенности и разветвления неизвестен? В общем html сильно мешает разработке. Да и реализация xml в ишаке сильно подводит

Последний раз редактировалось B~Vladi, 30.12.2009 в 10:55.
Ответить с цитированием