26.07.2017, 14:33
|
Новичок на форуме
|
|
Регистрация: 25.07.2017
Сообщений: 9
|
|
Точнее не событие срабатывает на родителе, а событие всплывает до родителя, на котором срабатывают обработчики.
Да, именно, я спрашивал про "цену". Если у нас на родителе 2 обработчика - это ещё пол беды. Но если их будет 100500 образно говоря, не будет ли это слишком накладно по вычислительным мощностям и не будет ли это существенно стучать по производительности.
Не лучше ли в таком случае вешать обработчики через атрибуты, например, на дочерние элементы сразу? Или же можно не опасаться особо?
|
|
26.07.2017, 14:54
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от GeekHacker
|
Но если их будет 100500 образно говоря, не будет ли это слишком накладно по вычислительным мощностям и не будет ли это существенно стучать по производительности.
|
Ну в общем-то и прямая установка обработчика не бесплатна и еще не известно, что более всего будет кушать в вашем приложении. )
Если схематично представить, что шапка и подвал, это постоянные элементы, а бокс содержимого принимает асинхронный контент, то уже получение нового содержания не требует делегирования, а в загруженном можно при загрузке установить обработчики. При этом некую часть обработчиков, какие-то общие для всех страниц операции на загружаемых страницах можно делегировать.
То есть если все распределить рационально, то таких сумасшедших количеств делегирований вряд ли будет.
Если через атрибуты, ну в некоторых случаях может и быть, но как правило, вряд ли это удобно для сопровождения кода. Я так полагаю.
|
|
26.07.2017, 16:02
|
Новичок на форуме
|
|
Регистрация: 25.07.2017
Сообщений: 9
|
|
Сообщение от laimas
|
Ну в общем-то и прямая установка обработчика не бесплатна и еще не известно, что более всего будет кушать в вашем приложении. )
Если схематично представить, что шапка и подвал, это постоянные элементы, а бокс содержимого принимает асинхронный контент, то уже получение нового содержания не требует делегирования, а в загруженном можно при загрузке установить обработчики. При этом некую часть обработчиков, какие-то общие для всех страниц операции на загружаемых страницах можно делегировать.
То есть если все распределить рационально, то таких сумасшедших количеств делегирований вряд ли будет.
Если через атрибуты, ну в некоторых случаях может и быть, но как правило, вряд ли это удобно для сопровождения кода. Я так полагаю.
|
Да, вы правильно поняли структуру страниц. Шапка и подвал фактически никогда не меняются. Речь идёт преимущественно о центральном блоке.
Проблема только в том, что вариантов страниц (подгружаемых центральных блоков) достаточно много.
При этом, назначать обработчики после подгрузки контента не хотелось бы. Ну типа подгрузить что-то, а потом куча условий, смотреть что же мы подгрузили и вешать обработчики.
Хотелось бы или повесить всё сразу, на все случаи жизни, но этот вариант достаточно прожорливый. Или через атрибуты. Но тут, как вы подметили, крайне неудобно сопровождать.
Просто думал может кто-то писал большие SPA-сайты, узнать какой подход выбрал. И какие впечатления, подводные камни.
|
|
26.07.2017, 16:06
|
Новичок на форуме
|
|
Регистрация: 25.07.2017
Сообщений: 9
|
|
Сообщение от Rise
|
Будет
Не лучше
Чем вас jQuery не устраивает?
|
jQuery устраивает полностью. Собственно, его и предполагается использовать. Вопрос же не в том, что использовать, а в том как использовать.
Просто изначально хотел построить всё на делегировании. А потом, мягко говоря, побоялся что будет слишком накладно.
|
|
26.07.2017, 16:30
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от GeekHacker
|
Проблема только в том, что вариантов страниц (подгружаемых центральных блоков) достаточно много.
|
Ну это не критерий, ну вряд ли все и даже 3% элементов загружаемого будут требовать обработчиков. )
Я писал сайт для агентства недвижимости, в котором административный раздел весь асинхронный. Не смотря на массу задач раздела, множество сервиса, обслуживающий код небольшой и делегирований не масса. Часть однотипных задач определена объектом функций, запуск которых в том или ином случае определяет сервер (обмен в json), часть в виде плагинов, и т.п. Ведь не смотря на разнообразие задач, многие из них или узлы их, можно обобщить, определив один обработчик, а конкретизация внутри него определяется параметрами.
Не думаю, что и у вас, каждая страница будет требовать индивидуальности 100 процентной, да и не каждая вообще что-то будет требовать, разместили и на том спасибо. )
|
|
26.07.2017, 19:10
|
Новичок на форуме
|
|
Регистрация: 25.07.2017
Сообщений: 9
|
|
Сообщение от laimas
|
Часть однотипных задач определена объектом функций, запуск которых в том или ином случае определяет сервер (обмен в json), часть в виде плагинов, и т.п. Ведь не смотря на разнообразие задач, многие из них или узлы их, можно обобщить, определив один обработчик, а конкретизация внутри него определяется параметрами.
|
Ну и я решил вот практически таким путём пойти. Попробую, а там видно будет.
В любом случае, спасибо.
|
|
|
|