26.12.2011, 15:37
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от devote
|
Позволю себе поднять тему. Хотел спросить, какие селекторы вы используете чаще всего в своих проектах?
|
/^(\.|#)[a-z0-9-]+$/i. Другие варианты скорее как исключение, например, по имени тега 'input', по наличию атрибута '[placeholder]'.
|
|
26.12.2011, 15:46
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Только по имени класса, иногда каскад из двух классов.
|
|
26.12.2011, 18:00
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
Только по имени класса, иногда каскад из двух классов.
|
а ты все компоненты расшариваешь на весь проект? Нету компонентов, специфичных для страницы?
|
|
26.12.2011, 18:12
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от x-yuri
|
Нету компонентов, специфичных для страницы?
|
А какая разница? Во-первых, компоненты, специфичные для страницы всё равно не должны никому мешать на этой странице. Во-вторых, сегодня компонент специфичный, завтра -- уже нет. Ну и в-третьих, вместо того, чтобы нагружать мозг лишней работой и решать, специфичный ли компонент, лучше считать, что все компоненты должны быть контекстно-независимыми.
|
|
26.12.2011, 19:34
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
ну во-первых не засоряется "глобальное пространство имен", во-вторых, я не говорил, что специфичные компоненты должны мешать кому-то на этой странице, в-третьих, не понимаю как связана специфичность компонента с контексто-независимостью. По-крайней мере я не предлагал делать его зависящим от контекста.
а как ты поступаешь с контентом который изначально генерируется статически, а потом к нему надо добавить js-функциональность? Например, текстовое поле, выпадающий список для которого подгружается через ajax. Либо, например, кроссбраузерная поддержка атрибута placeholder. По идее, твои компоненты предполагают, что при создании они создают html-код, а не привязываются к существующему.
|
|
26.12.2011, 21:00
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от x-yuri
|
а как ты поступаешь с контентом который изначально генерируется статически, а потом к нему надо добавить js-функциональность?
|
Я извиняюсь, что встреваю в ваш разговор, но всё же хочу сказать, что я уже давно говорил (и не только тут) об одном удачном подходе, даже начал писать фреймворк.
Предлагаю привязываться к пространствам имен (использование кастомных тегов и атрибутов, xhtml). Никто никому не мешает и все счастливы
Спасибо, продолжайте
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
26.12.2011, 21:10
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
по поводу засорения глобального пространства имен я говорю в первую очередь с той точки зрения, что в одном случае, ты знаешь, что компонент используется только на одной странице, во втором таких предположений делать нельзя.
|
|
27.12.2011, 10:30
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Давай тогда определимся: чем специфичный компонент может отличаться от расшаренного компонента.
Сообщение от x-yuri
|
а как ты поступаешь с контентом который изначально генерируется статически, а потом к нему надо добавить js-функциональность? Например, текстовое поле, выпадающий список для которого подгружается через ajax. Либо, например, кроссбраузерная поддержка атрибута placeholder. По идее, твои компоненты предполагают, что при создании они создают html-код, а не привязываются к существующему.
|
Проблема не понятна.
|
|
27.12.2011, 15:45
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
Давай тогда определимся: чем специфичный компонент может отличаться от расшаренного компонента.
|
тем, что его область видимости ограничена, т.е. ты знаешь, что он используется только на определенной странице (ограниченный набор файлов), а не по всему проекту
Сообщение от Kolyaj
|
Проблема не понятна.
|
речь об unobtrusive javascript подходе. Сначала мы делаем, чтобы работало без js. Например, форма. А потом надо добавить к текстовому полю выпадающий список и надо завернуть это текстовое поле в span. Можно либо 1) заменить поле на новую html-разметку, либо 2) то же самое, но сохранить это поле и вставить его в середину этой html-разметки.
|
|
27.12.2011, 15:50
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от x-yuri
|
тем, что его область видимости ограничена
|
Что такое область видимости для компонента? CSS, например, в любом случае будет глобальным, его не спрятать.
Сообщение от x-yuri
|
речь об unobtrusive javascript подходе. Сначала мы делаем, чтобы работало без js.
|
Подход устарел. Пользователей без JS исчезающе мало, гораздо меньше, чем пользователей IE6, например. Значительно усложнять разработку ради гиков с noscript-ом смысла нет.
|
|
|
|