我想检查textarea内键盘上的每个按键是否有两个选项之一:
1)如果是一个数字而不是将其添加到文本区域。
2)如果其他任何事情向用户发出警报。
html中的textarea标签是:
<textarea id="input" placeholder="EnterInput"></textarea>
我在JS文件中写的是:
document.getElementById("input").addEventListener("keypress", checkInput(e));
function checkInput(keyPressed){
if(keyPressed < 48 || keyPressed > 57){
alert("Wrong input! The charcted entered is not a number.");
}
}
非常感谢, 伊茨克。
答案 0 :(得分:3)
您可以通过()
document.getElementById("input").addEventListener("keypress", checkInput(e))
^^ INVOKED!
event
将自动传递给您的函数,因此只需省略:
document.getElementById("input").addEventListener("keypress", checkInput)
此外,which
event
属性存储密钥代码(在大多数浏览器中,正如@TJCrowder所指出的,旧版浏览器可能使用keyCode
属性):
function checkInput(event) {
var keyCode = event.hasOwnProperty('which') ? event.which : event.keyCode;
//Now check
}