Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

191
Vistas
Cómo obtener el mismo comportamiento de ctrl+clic en todos los navegadores y plataformas

Estoy tratando de obtener ctrl + clic izquierdo del mouse para realizar un determinado comportamiento y obtener diferentes resultados para diferentes navegadores.

Dado que en los sistemas mac ctrl+lmb se traduce como clic derecho, parece que tengo que capturar el evento 'contextmenu' y luego verificar si en realidad es ctrl+lmb.

Pero incluso superando eso, para el siguiente script, obtengo resultados diferentes entre Chrome y Safari.

En la consola de Chrome veo 'Clic en ctrl + clic izquierdo' al hacer clic, y en Safari veo este mensaje dos veces: mientras se mantiene presionado ctrl, cuando hago clic en lmb y cuando lo suelto.

 box = document.getElementById("thebox").addEventListener('click',(event) => { if (event.ctrlKey) { console.log('Clicked ctrl + left click') return; } console.log('Clicked left click'); }) box = document.getElementById("thebox").addEventListener('contextmenu',(event) => { event.preventDefault(); if (event.buttons === 2 || event.buttons === 0) { console.log("Clicked right click"); } else if (event.buttons === 1) { console.log("Clicked ctrl + left click"); } })
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id="thebox" style='height: 100px; width: 100px; background-color: red;'></div> <script src='./index.js'></script> </body> </html>

Siento que debería haber una solución más simple para tener un clic ctrl+lmb unificado en todos los navegadores, pero no puedo encontrarlo, ¿es realmente tan difícil?

Agradezco la ayuda.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda