[英]How to stop allowing of special characters on keypress of input
I have below input 我有以下输入
handleNameChange(event = {}) {
console.log('event', event);
this.setState({ reportCalculationName: event.target.value });
}
onKeyPress(event) {
let character = event.keyCode;
console.log('character', character);
}
<div className="col-md-4">
<label className="col-md-5">Calculation Name:</label>
<input type="text" className="" id="calculation-name" title="Name"
onChange={this.handleNameChange}
value=this.state.reportCalculationName } onKeypress={this.onKeyPress}/>
</div>
Keypress event is not even firing when I enter some special charcaters.I want to stop allowing `,."'|/+=] these characters in my input field in my react component 当我进入一些特殊的charcaters时,Keypress事件甚至没有触发。我想在我的反应组件的输入字段中停止允许`,。“'| / + =]这些字符
You can use event.preventDefault() to cancel the keypress event. 您可以使用event.preventDefault()取消keypress事件。
PseudoCode: 伪代码:
onKeyPress(event) {
var key = window.event ? event.keyCode : event.which;
if (key === [enter your value here]) {
event.preventDefault(); <=== this will cancel the input
} else {
return true;
}
console.log('character', character);
return false;
}
You can find more information here: 您可以在这里找到更多信息:
https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.