Как лучше обрабатывать события с точки зрения оптимизации
на странице много однотипных элементов события которых надо обрабатывать
1 вариант: каждый элемент сам вызывает нужную функцию например onchange="....." 2 вариант: использовать обработчик событий (использую mootools но тоже самое можно и на jQuery) $$('input[id^=blabla').addEvent('change', function(){ ... код обработки тут я по id элемента с помощью регулярных выражений определяю какое действие выполнить думаю что это сильно замедляет выполнение } |
1. Принято разделять разметку и фукционал. То есть html отдельно, js отдельно. Первый вариант с этим не согласуется.
2. А сколько элементов у Вас? 10 000? 100 000? Библиотеки оптимизированы под быструю выборку + используют нативные средства (querySelector, querySelectorAll), которые работают значительно быстрее. И тут нет регулярных выражений. P.S. К слову о нативных средствах: для того, чтобы можно было их использовать, селектор должен быть валиден. Приведенный Вами селектор правильнее записать так: input[id^="blabla"] |
будет около 100 элементов input
id у всех будет однотипные: blabla(X)_blabla(Y) где (X) и (Y) - целые числа ( номер строки и номер позиции) И еще вопрос: при таком количестве элементов будет ли правильным не помещать их не в html а генерировать с помощью js? |
Цитата:
Могу ещё добавить, что если есть возможность не использовать стороннюю библиотеку, то не используйте (зачем грузить лишнее?) А генерировать с помощью js - это лучше, если весь сайт у Вас так генерируется. А если он сверстан на чистом HTML, то это затруднит отладку. |
Это будет компонент для joomla, там mootools идет по умолчанию
Но если генерировать страницу на js то в будущем я думаю возникнут проблемы с мультиязычностью, так что пока буду на html. Большое спасибо за советы. |
Часовой пояс GMT +3, время: 05:54. |