【问题标题】:JQuery cancel entered textJQuery 取消输入的文本
【发布时间】:2012-01-14 15:24:20
【问题描述】:

在输入<input type="text"> 字段时,我想在每个输入的值出现在屏幕上之前预先检查它。例如。如果用户输入任何非数值,则不会发生任何事情,只有当他输入数值时,该字段才会改变。

哪个是使用keydown()keyup() 的正确事件,还是有更好的方法?如何取消文本字段的当前更改而不必记住旧值并手动重置它?

【问题讨论】:

    标签: javascript jquery html browser dom-events


    【解决方案1】:

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

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

    这是working example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-18
      • 2016-04-06
      • 2011-01-06
      • 1970-01-01
      • 2018-02-06
      相关资源
      最近更新 更多