El Atributo ONMOUSEUP

Es un evento HTML que se dispara cuando el usuario libera un botón del mouse sobre un elemento.
El atributo onmouseup
es un evento HTML que se dispara cuando el usuario libera un botón del mouse sobre un elemento. Es esencial para crear interacciones que requieren acciones al soltar clics, como arrastrar elementos o sistemas de dibujo.
Sintaxis Básica
<elemento onmouseup="funcion(event)">
-
elemento: Cualquier elemento HTML (botones, divs, canvas).
-
event: Objeto del evento con información como posición y botón pulsado.
Ejemplos Prácticos
Ejemplo 1: Botón con efecto de presión
<button onmousedown="this.style.transform = 'scale(0.9)'" onmouseup="this.style.transform = 'scale(1)'" > Click aquí </button>
Efecto: El botón se encoge al presionar y recupera su tamaño al soltar.
Ejemplo 2: Sistema de arrastrar y soltar
CSS:
let arrastrando = false; function iniciarArrastre(e) { arrastrando = true; // Lógica de posición inicial }
JavaScript:
elemento.onmouseup = () => arrastrando = false;
Uso clave: Combinar con onmousedown
y onmousemove
para arrastre fluido.
Ejemplo 3: Lienzo de dibujo
let dibujando = false; canvas.onmousedown = () => dibujando = true; canvas.onmouseup = () => dibujando = false; canvas.onmousemove = (e) => { if (dibujando) { // Dibujar líneas } };
Nota: Permite dibujar solo mientras se mantiene presionado el clic.
Ejemplo 4: Detectar botón específico
function detectarBoton(e) { if (e.button === 0) console.log("Botón izquierdo liberado"); if (e.button === 2) console.log("Botón derecho liberado"); }
Dato útil: event.button
identifica el botón (0: izquierdo, 2: derecho).
Diferencias Clave
onmouseup
vs onclick
:
-
onmouseup
: Se dispara al soltar el botón, independientemente de dónde se presionó. -
onclick
: Requiere que ambos eventos (mousedown y mouseup) ocurran en el mismo elemento.
Buenas Prácticas
Combina con otros eventos:
elemento.onmousedown = iniciarAccion; elemento.onmouseup = finalizarAccion;
Limpia recursos:
document.onmouseup = () => { detenerAnimaciones(); liberarRecursos(); };
Maneja el contexto:
elemento.onmouseup = (e) => { e.preventDefault(); // Evita comportamientos predeterminados };
Casos de Uso Avanzados
-
Juegos de disparos: Liberar proyectiles al soltar el botón
-
Slider interactivo: Confirmar selección al soltar el clic
-
Edición de imágenes: Aplicar filtros al terminar de seleccionar áreas
-
Formularios: Validar campos al soltar clic en botones
Compatibilidad
Todos los navegadores modernos (Chrome, Firefox, Safari, Edge)
Alternativa moderna:
elemento.addEventListener('mouseup', funcion);
Conclusión
El atributo onmouseup
es fundamental para crear interfaces precisas y responsivas. Al dominar su uso junto con otros eventos del mouse, podrás desarrollar desde simples efectos hasta complejas herramientas interactivas.
<!-- Ejemplo Final: Selector de color personalizado --> <div id="selectorColor" style="width: 200px; height: 50px; background: linear-gradient(to right, red, yellow, lime, blue);" onmousedown="iniciarSeleccion(event)" onmouseup="mostrarColorSeleccionado(event)" ></div> <p id="colorHex">#FFFFFF</p> <script> function iniciarSeleccion(e) { // Lógica para seguimiento durante el arrastre } function mostrarColorSeleccionado(e) { const color = calcularColor(e.offsetX); document.getElementById("colorHex").textContent = color; } </script>