¿Cómo usar DOM y Eventos?

DOM ( Document Object Model ) , una interfaz de programación que se utiliza para conectar páginas web a scripts representando la estructura de un documento como documentos HTML . Define la forma en que se debe acceder y manipular un documento y también define la estructura lógica de los documentos.

La forma en que DOM representa un documento es con un árbol lógico ( DOM Tree ).

Para proporcionar una interfaz dinámica a una página web, usamos eventos en JavaScript . Estos eventos se adjuntan a elementos en el DOM ( Document Object Model ). De forma predeterminada, los eventos usan propagación burbujeante, es decir, de niños a padres. Los eventos se pueden vincular en línea o en el script externo (archivo JavaScript).

Usando DOM y Eventos: Supongamos que queremos hacer cambios en el documento o la hoja de estilo en un evento determinado. El evento puede ser la carga de una página web, la selección de algún elemento específico o el envío de un formulario, etc.

Algunos atributos de eventos comunes son los siguientes.

  • Atributos de eventos de ventana: estos eventos se activan para el objeto de ventana.
    • onload : se dispara después de que la página haya terminado de cargarse.
    • onresize : se activa cuando se cambia el tamaño de la ventana del navegador.
  • Eventos del mouse: estos son los eventos más comunes con interacción básica del usuario a través del mouse.
    • onclick : se activa cuando se activa un clic del mouse en un elemento.
    • onmouseover : se dispara cuando el puntero del mouse se mueve sobre un elemento.
    • ondblclick : se dispara con un doble clic del mouse en el elemento
  • Eventos de teclado:
    • onkeydown: se activa cuando el usuario presiona una tecla específica
    • onkeyup: se dispara cuando un usuario suelta una tecla específica

Ejemplo 1: en este ejemplo, adjuntamos un detector de eventos a nuestro contenedor. Cuando ocurre el evento de clic , el color del texto dentro del contenedor cambia de blanco a negro.

HTML

<!DOCTYPE html>
<html>
<head>
<title>DOM and Events</title>
  <style>
    .container {
            height: 150px;
            width: 300px;
            background-color: green;
            text-align: center;
            color: white;
            font-size: 30px;
            margin: auto;
            font-weight: bolder;
            font-family: -apple-system, BlinkMacSystemFont,
                        'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,
                        'Open Sans', 'Helvetica Neue', sans-serif;
        }
  </style>
</head>
<body>  
    <div class="container">GeeksforGeeks</div>
    <script>
        let container = document.querySelector('.container');
        container.addEventListener('click', function(e) {
            container.style.color = "black";
        });
    </script>  
</body>
</html>

Producción:

use DOM and Events

Ejemplo 2: en este ejemplo, se está produciendo un evento de teclado , estamos adjuntando un detector de eventos en nuestro elemento de entrada. Cuando el usuario está presionando una tecla ‘Enter’, se muestra un mensaje al usuario que dice «Usted presionó una tecla Enter».

HTML

<!DOCTYPE html>
<html>
  
<head>
    <title>DOM and Events</title>
    <style>
        * {
            font-family: -apple-system, BlinkMacSystemFont,
              'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 
              'Open Sans', 'Helvetica Neue', sans-serif;
        }
    </style>
</head>
  
<body>
    <h3>
        Message will be displayed when 
        you press a Enter key
    </h3>
  
    <input type="text" class="inputArea">
    <p></p>
  
    <script>
        let input = document.querySelector(".inputArea");
        let p = document.querySelector("p");
        
        input.addEventListener('keydown', function(e) {
            if (e.keyCode == 13) {
                p.textContent = "You pressed an Enter";
            }
        })
    </script>
</body>
  
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por siddharthredhu01 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *