Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.12.2013, 13:40
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Где лучше вешать обработчики событий?
Назрел такой вопрос: где лучше вешать обработчики событий - во внешнем js-файле или непосредственно на странице?
Речь идет о сайте, который имеет пару десятков типов страниц.
Если навешивание вынести во внешний файл, он будет "слушать" все типы страниц, даже те, на которых искомого селектора не может быть в принципе.
Если навешивать непосредственно на страницах, то усложняется поддержка кода и увеличивается объем кода.
Как можно замерить падение производительности при навешивании во внешнем файле? Есть ли какие-то таблицы показывающие зависимость от количества обработчиков, от браузера, от мощности клиентского компьютера?
Ответить с цитированием
  #2 (permalink)  
Старый 26.12.2013, 14:02
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Можно еще так сделать:
В файле объявляешь несколько функций:
var site = {
    initComments: function() {},
    initNews: function() {},
    initHomePage: function() {}
};


А в самой странице просто дергаешь нужную функцию.
Сообщение от BETEPAH
Как можно замерить падение производительности при навешивании во внешнем файле?
Никак не можно. Она ничтожно мала, если только у тебя не тысячи элементов на странице. Лучше думай об оптимизации обработчиков скролла, анимациях и прочих вещах, действительно чувствительных к плохому коду.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 26.12.2013, 14:06
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

$(function(){
    $('.tt_latin-verify').bind('input propertychange', function() {latinVerify(this);});
})
Такой код во внешнем файле насколько нагружает страницы? Допустим, если будет сотня подобных обработчиков? Интересуют слабые конфигурации компьютера. Есть ли какие-то методы проверки или табличные данные?
P.S. про bind я в курсе, но на проекте пока старый jQuery
Ответить с цитированием
  #4 (permalink)  
Старый 26.12.2013, 14:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,206

Сообщение от BETEPAH
Такой код во внешнем файле насколько нагружает страницы? Допустим, если будет сотня подобных обработчиков?
Для такого количества можно и самому тестик написать... Потом опробовать...

Вот только больше соглашусь с
Сообщение от danik.js
Она ничтожно мала
...
Лучше думай об оптимизации обработчиков скролла, анимациях и прочих вещах, действительно чувствительных к плохому коду.
Ответить с цитированием
  #5 (permalink)  
Старый 26.12.2013, 14:27
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от ksa
Вот только больше соглашусь с
с этим я тоже абсолютно согласен. Тоже придерживаюсь мнения, что нагрузка одноразовых обработчиков ничтожна, но возник спор с коллегой и решил поинтересоваться мнением общества
Спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 26.12.2013, 21:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,206

Сообщение от BETEPAH
возник спор с коллегой
Любой тест с засечкой по времени все разъяснит...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где лучше разместить $(document).ready()? Kotakota jQuery 4 31.10.2012 22:03
Где лучше выполнять арифметические операции? На клиенте или на сервере? Маэстро Общие вопросы Javascript 35 25.04.2012 18:13
где лучше спрятать данные? czp Общие вопросы Javascript 17 04.04.2012 13:08
Где лучше всего вставлять код js? TBIKC Общие вопросы Javascript 2 21.12.2011 04:33