У меня есть много функций и обработчиков событий, которые разбиты по нескольким файлам JavaScript, которые включены на разных страницах моего сайта.
Из соображений производительности я хочу объединить все эти файлы в один файл, который является глобальным для всего сайта.
Проблема в том, что у меня будут вызываться обработчики событий для элементов, которые не обязательно существуют, и с одинаковыми именами функций.
Это пример типичного файла JavaScript...
$(document).ready(function(){
$('#blah').keypress(function(e){
if (e.which == 13) {
checkMap();
return false;
}
});
});
function checkMap() {
// code
}
function loadMap() {
// code
}
Мне нужно разделить этот код на объект, который вызывается на этой конкретной странице.
Мои мысли, я мог бы переписать это так:
(function($) {
$.homepage = {
checkMap: function(){
// code
},
loadMap: function(){
//code
}
};
})(jQuery);
И затем на странице, которая требует этого, я мог бы вызвать $.homepage.checkMap()
и т.д.
Но тогда как мне объявить обработчики событий, такие как document.ready
не содержащие его в своей собственной функции?