我如何能使onKeyPress事件工作在ReactJS?当按下回车键(keyCode=13)时,它应该发出警报。
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);
你需要调用event.persist();这个方法在你的keyPress事件上。
例子:
const MyComponent = (props) => {
const keyboardEvents = (event) =>{
event.persist();
console.log(event.key); // this will return string of key name like 'Enter'
}
return(
<div onKeyPress={keyboardEvents}></div>
)
}
如果你现在在keyboardEvents函数中输入console.log(event),你会得到其他属性,比如:
keyCode // number
charCode // number
shiftKey // boolean
ctrlKey // boolean
altKey // boolean
还有很多其他属性
谢谢和问候
p.s.: React版本:16.13.1
你需要调用event.persist();这个方法在你的keyPress事件上。
例子:
const MyComponent = (props) => {
const keyboardEvents = (event) =>{
event.persist();
console.log(event.key); // this will return string of key name like 'Enter'
}
return(
<div onKeyPress={keyboardEvents}></div>
)
}
如果你现在在keyboardEvents函数中输入console.log(event),你会得到其他属性,比如:
keyCode // number
charCode // number
shiftKey // boolean
ctrlKey // boolean
altKey // boolean
还有很多其他属性
谢谢和问候
p.s.: React版本:16.13.1