Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

167
Views
Cómo activar un evento cuando se presionan tres teclados al mismo tiempo en Javascript

Estoy escribiendo código para ejecutar una función específica cuando se presiona la tecla ctrl + shift + z . Cuando presiono dos teclas al mismo tiempo, funciona bien, pero cuando presiono tres teclas, el evento no ocurre. A continuación se muestra el código que escribí.

prueba 1:

 document.onkeydown = function (e) { if (e.ctrlKey && e.key === 'z') { // It works undo() // ctrl+ z } else if (e.ctrlKey && e.shiftKey && e.key==='z' ) { //It doesn't work redo(); //ctrl + shift + z } }

prueba 2:

 document.onkeydown = function (e) { // var ctrl, shift,z console.log(e.key) switch (e.key) { case 'Control': ctrl = true; break; case 'Shift': shift = true; break; case 'Z': z = true; break; } if (ctrl&&shift&&z) redo() }

Ninguno de estos funcionará si está escribiendo en tres teclados.

Cómo hacer que funcione cuando se presiona ctrl+shift+z

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Cambie el orden de las condiciones, ya que la primera condición siempre es true si la segunda es true , lo que hace que el código de la segunda condición nunca se ejecute.

 document.onkeydown = function(e) { if (e.ctrlKey && e.shiftKey && e.key === 'Z') { undo() } else if (e.ctrlKey && e.key === 'Z') { redo(); } }
about 4 years ago · Juan Pablo Isaza Report

0

Una buena manera de realizar un seguimiento de las teclas presionadas es con un objeto:

 const keys = {} function onKeyDown(e) { keys[e.key.toLowerCase()] = true doSomething() } function onKeyUp(e) { keys[e.key.toLowerCase()] = false } window.addEventListener('keydown', onKeyDown) window.addEventListener('keyup', onKeyUp) function doSomething() { console.log(keys) if (keys.control && keys.shift && keys.z) { console.log("redo!") } else if (keys.control && keys.z) { console.log("undo!") } }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!