编程语言
首页 > 编程语言> > javascript-jQuery取消输入的文本

javascript-jQuery取消输入的文本

作者:互联网

在输入< input type =“ text”>时,我想在每个输入的值出现在屏幕上之前对其进行预检查.例如.如果用户输入任何非数字值,则不会发生任何事情,只有输入数字值,该字段才会更改.

哪个事件适合使用keydown(),keyup()或有更好的选择?如何取消文本字段的当前更改,而不必记住旧值并手动重置它?

解决方法:

您可以绑定到keypress事件,然后检查由事件对象的which属性表示的字符.如果不是数字,则可以使用preventDefault来防止将字符写入元素的默认行为:

$("#someInput").keypress(function(e) {
    if(isNaN(String.fromCharCode(e.which))) {
        e.preventDefault();
    }
});

这是working example.

标签:dom-events,html,browser,javascript,jquery
来源: https://codeday.me/bug/20191201/2084032.html