Jquery keypress方法在Mozilla中无法正常工作

时间:2013-03-07 03:55:50

标签: jquery

以下代码可以正常使用IE9和Chrome,但无法在mozilla中运行

$("#BasicSalary").keypress(function (event) {
          if (event.keyCode < 46 || event.keyCode > 57) {
            event.preventDefault();
           }
          else if (event.keyCode == 47) {
            event.preventDefault();
           }
       });

谢谢

2 个答案:

答案 0 :(得分:1)

keyCode更改为which,它将更加跨浏览器兼容。您可以添加故障转移以使其更可靠:

$("#BasicSalary").keypress(function (e) {

    var keyCode = (typeof e.which == "number") ? e.which : e.keyCode

    if (keyCode  < 46 || keyCode  > 57) {
        e.preventDefault();
    } else if (keyCode  == 47) {
        e.preventDefault();
    }
});

答案 1 :(得分:0)

试试这个:

   $("#BasicSalary").keypress(function (event) {
      var keycode = event.keyCode || event.which;

      if (keycode < 46 || keycode > 57) {
        event.preventDefault();
       }
      else if (keycode == 47) {
        event.preventDefault();
       }
   });