Usar eventos en javascript
De cara a optimizar el código tengo un fichero con varias funciones js, que las utilizo en varias paginas, pero quiero poder variar algún comportamiento para la misma acción en distintas paginas, por lo que para evitar tener que pasar algún parámetro o duplicar funciones voy a utilizar eventos.
Así en la función del fichero js lanzo el evento:
function guardarx(){ //guardo con ajax... .ajax(.... // Creo el evento var event = new CustomEvent("evento-guardar-x", { "Parametro": "Valor" }); //Lanzo el evento document.dispatchEvent(event); }
Y luego en cada una de las paginas que utilizan el js puedo añadir un listener si deseo añadir funcionalidad especial.
document.addEventListener("evento-guardar-x", function(e) { console.log(e); });
Podeis ver una demo aqui