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

165
Vistas
Presione el botón del teclado durante onClick y, en función de eso, ejecute diferentes funciones

Actualmente, tengo 9 funciones diferentes que deben activarse con un solo botón al hacer clic y el teclado numérico (del 1 al 9).

Editar: Solución por Sode- v2

 <!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <button type="button" id="b41" onclick="test_ks(event)">Shape Anchor Point</button> <script> const pressedButtons = {}; window.onkeydown = (e) => (pressedButtons[e.which] = true); window.onkeyup = (e) => (pressedButtons[e.which] = false); function test_ks(event) { if (pressedButtons[97]) { alert('numpad 1'); } else if (pressedButtons[98]) { alert('numpad 2'); } } </script> </body> </html>

Intenté esto en https://manjunath7472.w3spaces.com/saved-from-Tryit-2021-11-06.html

Problema 1. Después de hacer clic en el teclado numérico 1, el teclado numérico 2 no funciona y después de hacer clic en el teclado numérico 2, el teclado numérico 1 funciona, pero luego el teclado numérico 2 no funciona.

2.Después del clic inicial en cualquier persona, desde la segunda vez, con solo un clic del mouse (sin presionar el teclado numérico del teclado) se activa la alerta.

3.Después de hacer clic por primera vez con la pulsación de una tecla, no considera la pulsación del teclado y la alerta se activa solo con un clic del ratón.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cuando vincula una función para hacer clic en la etiqueta HTML, solo desea pasar el nombre de la función, ya que el DOM pasará el parámetro del evento.

 <button type="button" id="b41" onclick="myFunction()">myButtonName</button>

pero también, el evento de clic de un botón no tendrá ningún dato de teclado adjunto, por lo que es posible que desee considerar el uso de detectores de eventos keydown y keyup (probablemente en el objeto de la ventana) para realizar un seguimiento de qué teclas se presionan y usar esa información cuando se hace clic en el botón

 <button type="button" id="b41" onclick="myFunction()">myButtonName</button> <span id="output"></span> <script> const pressedButtons = {}; const outputSpan = document.querySelector('#output'); window.onkeydown = (e) => (pressedButtons[e.which] = true); window.onkeyup = (e) => (pressedButtons[e.which] = false); function myFunction(event) { console.log(pressedButtons); if (pressedButtons[97]) { outputSpan.innerHTML = 'numpad 1'; } else if (pressedButtons[98]) { outputSpan.innerHTML = 'numpad 2'; } else { outputSpan.innerHTML = ''; } } </script>

Editar: actualizado para cambiar el texto de un lapso en lugar de usar alert()

about 4 years ago · Juan Pablo Isaza Denunciar
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