我想限制用户删除电话号码字段中的第一个字符。我已经实现了onKeyPress
事件处理程序,如下所示,但它仍然不限制删除文本。
onKeyPress={({ nativeEvent }) => {
if (nativeEvent.key === "Backspace" && this.props.input.value.charAt(0) === '+') {
return false
}
}}
答案 0 :(得分:1)
function yourfunction(e) {
if(e.code === 'Backspace' && e.target.value.charAt(0) === '+' && e.target.selectionStart<=1){
e.stopPropagation();
e.preventDefault();
}
}
<input type="text" value="+915465971" onkeydown="yourfunction(event)"/>
我认为这会起作用。
答案 1 :(得分:1)
如果您不希望他们更改它,是否考虑过不将其包含在字段中? 例如(原始HTML)
4<input type="tel"/>
“ 4”是纯文本,不能更改。
答案 2 :(得分:0)
使用onKeyDown代替onKeyPress,如果条件通过,请执行e.preventDefault()
答案 3 :(得分:-1)
致电
event.preventDefault()
其中
onKeyPress(event) {}
在功能中。
不要使用nativeEvent。