Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

623
Visualizações
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 Respostas
Responde à pergunta

0

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

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda