Javascript 如何在Mozilla Firefox中使用DEL键

Javascript 如何在Mozilla Firefox中使用DEL键,javascript,firefox,dom-events,mozilla,keycode,Javascript,Firefox,Dom Events,Mozilla,Keycode,我需要帮助解决我在asp.net MVC3应用程序中遇到的问题。我有一个文本框,正在验证货币格式$228.00,但是在这个文本框中,DEL键不起作用,因为。和delete键具有与46相同的ASCII键。我还在这个文本框中为设置了验证。文本框中只接受一次,因此如果。输入一次,然后删除将不起作用 以下是我的验证Javascript: function validateForCharacter(val, id, e) { window.event.keyCode : -1; var k

我需要帮助解决我在asp.net MVC3应用程序中遇到的问题。我有一个文本框,正在验证货币格式$228.00,但是在这个文本框中,DEL键不起作用,因为。和delete键具有与46相同的ASCII键。我还在这个文本框中为设置了验证。文本框中只接受一次,因此如果。输入一次,然后删除将不起作用

以下是我的验证Javascript:

function validateForCharacter(val, id, e) {
    window.event.keyCode : -1;
    var key = e.keyCode || e.charCode || e.which;
    var currentChar = String.fromCharCode(key);
    if (val.indexOf(currentChar) != -1 && currentChar == ".")
    {
           return false;
    }
    if (key >= 48 && key <= 57 || key == 46 || e.keyCode === 8 || e.keyCode === 9 || e.keyCode === 37 || e.keyCode === 35 || e.keyCode === 39)
    {
           $(this).val("");
           return true;
    }
    return false;
 }
这是文本框的my View Html代码:

<input type="text" id="t1" onkeypress="return validateForCharacter(value, id, event)/>

Jquery做得对。。。但如果您需要在Firefox或IE9上专门检测删除密钥,您可以使用event.key属性

即:

现场演示:

$document.readyfunction{ $nondeletable.onkeydown,functionevent{ $result.htmlevent.type+:+event.which; 如果event.key==删除 $result.append Delete!; }; };
. 和删除键是否具有相同的ASCII键?真的吗?window.event.keyCode:-1?是的,当我打印的时候。然后用e.keyCode,e.charCode,e.删除密钥,然后在firefox中打印46。。。真的…钥匙密码一定不一样!但是DEL的键码等于的ASCII码。看见
if (event.key == "Delete")