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

629
Vistas
React JS: diferenciar entre el evento Click y Click + Shift

Este bolígrafo muestra mi problema: http://codepen.io/PiotrBerebecki/pen/RKxOKb

Puedo cambiar el color de fondo cuando se hace clic en el botón, pero me gustaría aplicar un color diferente cuando se mantiene presionado el botón Shift mientras se hace clic. Mi objeto de evento actual no parece tener acceso a los eventos del teclado.

¿Sabrías cómo solucionarlo?

Aquí está el código de reacción:

 class App extends React.Component { constructor() { super(); this.handleClick = this.handleClick.bind(this); this.state = { wasOriginalColorChanged: false, buttonColor: 'blue' } } handleClick(e) { let newButtonColor; if (!this.state.wasOriginalColorChanged) { if (e.shifKey) { newButtonColor = 'green'; } else { newButtonColor = 'tomato'; } } else { newButtonColor = 'blue'; } this.setState({ buttonColor: newButtonColor, wasOriginalColorChanged: !this.state.wasOriginalColorChanged }); } render() { return ( <div className="button" onClick={this.handleClick} style={{backgroundColor: this.state.buttonColor}}> <p>Click me to change color to tomato</p> <p>Click me + Shift key to change color to green</p> </div> ); } } ReactDOM.render( <App />, document.getElementById('app') );
 .button { color: white; text-align: center; border: solid 5px black; cursor: pointer; user-select: none; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> <div id="app"></div>

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Omitiste la 't' en e.shiftKey en la segunda instrucción if

over 4 years ago · Santiago Trujillo 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