onkeydown不在IE中工作?

时间:2016-02-19 19:01:27

标签: javascript asp.net vb.net internet-explorer

我的aspx页面中有以下javascript。

  function isAllowed(evt) {
      var charCode = (evt.which) ? evt.which : event.keyCode
      if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || (charCode > 47 && charCode < 58) || (charCode > 42 && charCode < 47) || (charCode == 36) || charCode == 8)
          return true;
      return false;
  }

然后在vb.aspx文件中添加onkeydown属性。

Dim txtDesc As New TextBox
txtDesc.Attributes.Add("onkeydown", "return isAllowed(event)")

这在firefox中运行良好,但它在IE(IE11)

中不起作用

我尝试了onkeypress和onkeydown ......两者在firefox中运行良好,但不是IE。

编辑:我发现它在IE中有些工作但是错误的Charcode。我的意图只是允许

abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
and only these symbols +-.,$

但是在IE上。它允许更多的符号,但不允许我想要的一些符号。 例如,在IE中,我无法输入+-

在IE中

我可以输入!@#$%^&*()&lt; - 这应该被javascript忽略

谢谢

1 个答案:

答案 0 :(得分:-1)

您可能需要查看此网站:http://unixpapa.com/js/key.html

Mozilla(FireFox)处理某些键码与IE不同。请特别注意符号键表。