Tengo muchas funciones y controladores de eventos que se dividen en varios archivos javascript que se incluyen en diferentes páginas de mi sitio.Técnicas para agrupar código JavaScript
Por razones de rendimiento, quiero combinar todos esos archivos en 1 archivo que es global en todo el sitio.
El problema es que solicitaré que los controladores de eventos invoquen elementos que no necesariamente existirán y los mismos nombres de funciones.
Este es un ejemplo de un archivo típico Javascript ...
$(document).ready(function(){
$('#blah').keypress(function(e){
if (e.which == 13) {
checkMap();
return false;
}
});
});
function checkMap() {
// code
}
function loadMap() {
// code
}
que tendría que separar el código en un objeto que se llama en esa página específica.
Mis pensamientos son que pude volver a escribir así:
(function($) {
$.homepage = {
checkMap: function(){
// code
},
loadMap: function(){
//code
}
};
})(jQuery);
Y a continuación, en la página que requiere que yo podría llamar $.homepage.checkMap()
etc.
Pero entonces ¿cómo iba a declarar como controladores de eventos document.ready
sin incluirlo en su propia función?
Cualquier consejo sobre las mejores prácticas sería genial, ¡gracias!
¿qué es lo que quiere decir con (¿cómo iba a utilizar controladores de eventos document.ready?) – mgraph
usted está en la dirección correcta. Puede poner los manejadores en la parte inferior del documento para evitar document.ready – dotoree
Lo siento, quise decir que quiero llamar 'document.ready' en el script en lugar de en la página en sí, pero tendría que ponerlo en un lugar aparte funcionar en '$ .homepage' ¿verdad? ¿Hay alguna manera de crear una función de constructor usando este método sin tener que llamarlo? – fire