Asp.net mvc 4 Kindle Silk浏览器出现按键事件问题?

Asp.net mvc 4 Kindle Silk浏览器出现按键事件问题?,asp.net-mvc-4,knockout.js,kindle,amazon-silk,Asp.net Mvc 4,Knockout.js,Kindle,Amazon Silk,我试图在使用knockout.js和MVC的项目中,将文本框限制为只能输入数字 我正在对keypress事件进行数据绑定,以从VM调用一个函数,如下所示: this.NumbersOnly = function (data,evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode != 46 && (

我试图在使用knockout.js和MVC的项目中,将文本框限制为只能输入数字

我正在对keypress事件进行数据绑定,以从VM调用一个函数,如下所示:

this.NumbersOnly = function (data,evt) {        
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode != 46 && (charCode < 48 || charCode > 57)))
        return false;
    return true;
}
this.NumbersOnly=函数(数据,evt){
var charCode=(evt.which)?evt.which:event.keyCode
如果(charCode>31&(charCode!=46&&(charCode<48|charCode>57)))
返回false;
返回true;
}

这将只允许数字和小数进入输入文本框。这在我测试过的所有浏览器中都非常有效,除了Kindle的Silk浏览器有问题,因为我仍然可以输入字母字符。如果有人有任何想法让Silk同意,请告诉我

当计算
if
语句时,
charCode
的值是多少?通常是我所点击的键码。。我想我需要找到一种在SilkRight中调试的方法,这就是我的意思如果不是你所期望的,那么实际值是多少。我也不确定你会如何在silk中调试,但最坏的情况是,你可以提醒这个值。老实说,我不认为silk真的进入了这个函数,我将在我们的登台环境中使用“keydown”而不是keypress来尝试它,我在一些地方读到“keypress”是不推荐的