¿Cómo puedo hacer que el onKeyPress
evento funcione en ReactJS? Debe alertar cuando enter (keyCode=13)
se presiona.
var Test = React.createClass({
add: function(event){
if(event.keyCode == 13){
alert('Adding....');
}
},
render: function(){
return(
<div>
<input type="text" id="one" onKeyPress={this.add} />
</div>
);
}
});
React.render(<Test />, document.body);
javascript
reactjs
keypress
onkeypress
usuario544079
fuente
fuente
Respuestas:
Estoy trabajando con React 0.14.7, uso
onKeyPress
yevent.key
funciona bien.fuente
Simulate.keyPress(ReactDOM.findDOMNode(component.refs.input),{key:"Enter"});
function handleKeyPress(event){...}
this
===
verificación de igualdadevent.key == 'Enter'
.onKeyDown
DetectakeyCode
eventos.fuente
Para mí
onKeyPress
ele.keyCode
es siempre0
, peroe.charCode
tiene valor correcto. Si se usaonKeyDown
el código correcto ene.charCode
.Reaccionar eventos de teclado .
fuente
El evento Keypress está en desuso, en su lugar, debe usar el evento Keydown.
https://developer.mozilla.org/en-US/docs/Web/API/Document/keypress_event
fuente
event.key === 'Enter'
. Echa un vistazo aquí .Reaccionar no te está pasando el tipo de eventos que podrías pensar. Más bien, está pasando eventos sintéticos .
En una breve prueba,
event.keyCode == 0
siempre es cierto. Lo que quieres esevent.charCode
fuente
e.key || e.keyCode || e.charCode
fuente
Si desea pasar un parámetro dinámico a una función, dentro de una entrada dinámica ::
Espero que esto ayude a alguien. :)
fuente
Tarde a la fiesta, pero estaba tratando de hacer esto en TypeScript y se me ocurrió esto:
Esto imprime la tecla exacta presionada en la pantalla. Entonces, si desea responder a todas las presiones "a" cuando el div está enfocado, compararía e.key con "a", literalmente if (e.key === "a").
fuente
Hay algunos desafíos cuando se trata de presionar un evento. El artículo de Jan Wolter sobre eventos clave es un poco antiguo, pero explica bien por qué la detección de eventos clave puede ser difícil.
Algunas cosas a tener en cuenta:
keyCode
,which
,charCode
Tener un valor diferente / significado de pulsación de tecla de keyup y keydown. Todos están en desuso, pero son compatibles con los principales navegadores.key
ycode
son el estándar reciente. Sin embargo, no son bien compatibles con los navegadores en el momento de la escritura.Para abordar los eventos de teclado en las aplicaciones de reacción, implementé react-keyboard-event-handler . Por favor échale un vistazo.
fuente
puedes verificar esta función "pressEnter"
fuente