如何在Mozilla Firefox上使用DEL Key

时间:2012-11-26 08:15:49

标签: javascript firefox javascript-events mozilla keycode

我需要在我的asp.net MVC3应用程序中为我的问题提供帮助我有一个文本框验证货币格式($ 228.00)但在此文本框中不能使用DEL键,因为“。”和删除键具有相同的ASCII键,46和i也在此文本框中设置了验证“。”只有一次会在文本框中接受,所以如果“。”输入一次然后删除将无法正常工作

这是我的验证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;
 }

这是我的文本框的View(Html)代码:

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

1 个答案:

答案 0 :(得分:0)

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

即:

if (event.key == "Delete")

现场演示:

&#13;
&#13;
$(document).ready(function() {
  $("#nondeletable").on("keydown", function(event) {
    $("#result").html(event.type + ": " + event.which);
    if (event.key == "Delete")
      $("#result").append(" <b>Delete!</b>");
  });


});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="nondeletable" />
<div id="result"></div>
&#13;
&#13;
&#13;