我在javascript中使用NAN进行onclick但它在firefox

时间:2016-02-20 17:37:38

标签: javascript jquery html5 validation

我只是将其添加为评论,我发现了这个解决方案,但我的代表永远都是43,我不能这样,这是一个新问题。

我在我的文本输入表单字段中使用它,我只想要数字,我发现这是一个问题的解决方案:

onkeypress="if ( isNaN( String.fromCharCode(event.keyCode) )) return false;"

这适用于Chrome,但在Firefox中会引发以下错误:

12:30:53.951 Use of getPreventDefault() is deprecated.  Use defaultPrevented instead.

我真的想将输入限制为只有数字..关于如何摆脱这个错误的任何想法?

在有人说" Duh之前,在文档中搜索getPreventDefault()"它不存在,我不会在任何地方使用它或在任何地方调用它。

2 个答案:

答案 0 :(得分:0)

最有可能发生这种情况,因为您使用内联事件处理和非标准代码来取消事件,这不是连接事件的标准方法。而是在代码中执行:

 yourInputField.addEventListener("keypress", function(evt){

     if(isNaN(String.fromCharCode(evt.keyCode))){
        evt.preventDefault();
        evt.stopPropagation();
     } 

 });

答案 1 :(得分:0)

我重写了原始搜索并发现了这一点。当我来到这个网站寻找内联解决方案时,这正是我所寻找的。

<input id="intNumber" type="number" min="1" max="20" />

LOL