1 回答

TA貢獻1785條經(jīng)驗 獲得超4個贊
正如@VLAZ 建議的那樣,使用type="number"是更好的解決方案。
但是,要修復(fù)您的代碼 - 如果字符不是數(shù)字,則用于event.preventDefault()阻止字母插入:
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
var clickMe = document.querySelectorAll('.onlynumbers');
for (var i = 0; i < clickMe.length; i++) {
clickMe[i].addEventListener('keypress', function(event) {
if(!isNumber(event)) event.preventDefault();
}, false);
}
<input class="onlynumbers" type="text">
添加回答
舉報