<input type="number" min="0" step="1" pattern="[0-9]" />
<br><br>
但是上面的输入允许 +
和 -
键。如何在不使用 js
的情况下使此输入类型严格只允许 0-9
?
最佳答案
没有 JS 是不可能的。
const allNumberInputs = document.querySelectorAll( 'input[type=number]' );
function disallowPrefixEvent( e ) {
const keyCode = e.keyCode || e.which;
if ( keyCode === 187 || keyCode === 189 ) {
e.preventDefault();
}
}
for ( let i = 0; i < allNumberInputs.length; i += 1 ) {
allNumberInputs[ i ].addEventListener( 'keydown', disallowPrefixEvent );
}
<input type="number" min="0" step="1" pattern="[0-9]" />
关于html - 如何防止 `-`和 `+`字符输入类型号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45817292/