De manera incremental se ha aumentado la complejidad de este curso respecto a la pagina web :
Este incremento de complejidad requiere que se añadan nuevas secciones al script con la finalidad de hacerlo facil de enterder y modificar.
VARIABLES GLOBALES<script> //******************************************************************** //SECCION PARA VARIABLES Y CONSTANTES EXTERNAS / GLOBALES const claveLocalStorage = 'prueba003';
EXPLICACIÓN : Al inicio del script se agregaran la definición de las variables externas/globales. Esto permitira ubicarlas e identificarlas.
PAGINA CARGADA
//********************************************************************
//SECCION PARA INICIAR JAVASCRIPT CUANDO
//LA PAGINA ESTE COMPLETAMENTE CARGADA
document.addEventListener('DOMContentLoaded', () =>
{ console.log("Pagina cargada y lista");
// Funciones que se invocan cuando la pagina esta cargada
});
EXPLICACIÓN :
El método document.addEventListener('DOMContentLoaded') s un método que permite agregar un evento escuchador al documento HTML para detectar cuando el contenido del documento ha sido completamente cargado.
Sintaxis: document.addEventListener('DOMContentLoaded', función);
Argumentos:
Explicación detallada
function() o una funcion flecha ()=> para escribir directamente el codigo.
document.addEventListener('DOMContentLoaded', () =>
{ // Funcion que agrupara todos los escuchadores
//de eventos de los objetos HTML
escucharElementos(); //<= Funcion que agrupa TODOS los disparadadores de eventos
});
//********************************************************************
//SECCION PARA AÑADIR TODOS LOS INTERCEPTORES
//DE EVENTOS
function escucharElementos()
{
// button con id=btn_accion1 y con evento click
document.getElementById('btn_accion1').addEventListener('click', (evento) =>
{ console.log("document.getElementById('btn_accion1') 'click' ");
fn_Presionar_Boton();
});
//Otros objeto del DOM y su respectivos eventos
//...
document.getElementById('btn_accion2').addEventListener('click',()=>{fn_acc_2();});
document.getElementById('btn_accion3').addEventListener('dblclick',()=>{fn_acc_3(); });
document.getElementById('btn_accion4').addEventListener('mouseover',()=>{fn_acc_4();});
}
EXPLICACIÓN : Una vez cargada la pagina hay que definir como reaccionar a la interacción del usuario con la pagina.
Aunque es posible escribir directamente cada uno de los escuchadores dentro de la sección no es recomendable hacerlo. Lo recomendable es agruparlos dentro de una función.
A continuación presento una lista de algunos de los eventos más utilizados
//********************************************************************
//SECCION DE FUNCIONES QUE SE USARAN POR LA PAGINA
function fn_Presionar_Boton() // Codigo de ejemplo al presionar el boton
{ console.log("Iniciando fn_Presionar_Boton");
alert("Hago algo al presionar el boton");
}//fin de function fn_Presionar_Boton()
function fn_Calcular_Algo (datoUno,datoDos)
{
//.... codigo ....
}
function fn_Presentar_Otra_Cosa ()
{
//.... codigo ....
}
function fn_Con_CallBack (CallBack)
{
//.... codigo ....
Retorno = "Algo";
CallBack(Retorno);
}
EXPLICACIÓN : Se agrupan las funciones para facilitar el desarrollo y modificación del codigo.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
</head>
<body style="color:white;background-color:black">
<!-- ******************************************************************** -->
<!-- SECCION DEL CUERPO HTML -->
<h4>Codigo para pruebas</h4>
<p id="campo_para_mostrar_datos"></p>
<input type="text" id="campo_para_ingresar_datos" placeholder="Ingrese informacion">
<button id="btn_accion1">Mensaje en el boton</button>
<script>
//********************************************************************
//SECCION PARA VARIABLES Y CONSTANTES EXTERNAS / GLOBALES
const claveLocalStorage = 'prueba003';
//********************************************************************
//SECCION PARA INICIAR JAVASCRIPT CUANDO
//LA PAGINA ESTE COMPLETAMENTE CARGADA
document.addEventListener('DOMContentLoaded', () =>
{ console.log("Pagina cargada y lista");
// Funcion que agrupara todos los eventos
escucharElementos();
// Otras funciones que se invocaran cuando
//este lista la pagina.
});
//********************************************************************
//SECCION PARA AÑADIR TODOS LOS INTERCEPTORES
//DE EVENTOS
function escucharElementos()
{
// button con id=btn_accion1 y con evento click
document.getElementById('btn_accion1').addEventListener('click', (evento) =>
{ console.log("document.getElementById('btn_accion1') 'click' ");
fn_Presionar_Boton();
});
//Otros objeto del DOM y su respectivos eventos
//...
}
//********************************************************************
//SECCION DE FUNCIONES QUE SE USARAN POR LA PAGINA
function fn_Presionar_Boton() // Codigo de ejemplo al presionar el boton
{ console.log("Iniciando fn_Presionar_Boton");
alert("Hago algo al presionar el boton");
//Codigo para recuperar
let info_campo = document.getElementById("campo_para_ingresar_datos").value;
info_campo = info_campo.trim(); // Elimina los espacios en blanco
let longitud_campo = info_campo.length; // Determina la longitud del campo.
if (longitud_campo==0) // Verifica el campo tenga texto
{ alert("No ingresaste nada"); }
else
{ alert ("Ingresaste ["+info_campo+"] con longitud ["+longitud_campo+"]" )
//Codigo para copiar el contenido dentro del campo de texto
document.getElementById("campo_para_mostrar_datos").textContent = "Información ingresada : "+info_campo;
}//fin if
}//fin de function fn_Presionar_Boton()
//********************************************************************
//FIN DEL SCRIPT
</script>
</body>
</html>
Objetivo: Utilizar la organizacion por secciones
Consideraciones:
El HTML debe:
El codigo JavaScript debe:
Procura no copiar directamente la respuesta desde una IA