在Javascript中检查textarea输入时按键事件监听器

时间:2014-12-12 15:10:18

标签: javascript html keypress addeventlistener

我想检查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.");
    }
}

非常感谢, 伊茨克。

1 个答案:

答案 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
}