gpt4 book ai didi

JavaScript KeyCode 与 CharCode

转载 作者:IT王子 更新时间:2023-10-29 03:07:40 29 4
gpt4 key购买 nike

问题:

  • 将 HTML 输入中允许的字符限制为 a-z A-Z。
  • 对于业务需求,这需要在 KeyPress 上完成,这样字符就不允许出现在输入中。
  • 允许使用 Tab、Enter、箭头、退格、Shift。用户必须能够自由进出文本框、删除字符等。

这是我的代码的起点...

var keyCode = (e.keyCode ? e.keyCode : e.which);

但是,我在 keyCode 中获得的每个值都不对应于我在网络上看到的任何字符图表。例如字符“h”给我返回代码 104。

KeyCode 与 CharCode 不同吗?哪个代码包含控制字符?我需要转换吗?

如何将输入限制为 a-z A-Z 并允许在 JavaScript 中使用我需要的键?

最佳答案

您所有问题的答案都可以在 the following page 上找到.

...但总而言之:

  • 您可以从中可靠地获取字符信息(与键码信息相对)的唯一事件是 keypress 事件。
  • keypress 事件中,除IE <= 8 之外的所有浏览器都将字符代码存储在事件的which 属性中。大多数但不是所有这些浏览器还将字符代码存储在 charCode 属性中。
  • keypress 事件中,IE <= 8 将字符代码存储在 keyCode 属性中。

这意味着获取与按键对应的字符代码,以下将在任何地方都有效,假设按键事件对象存储在名为 e 的变量中:

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

这通常会返回一个字符代码,如果存在则为 0,否则为 0。在某些情况下,您会得到一个不应该的非零值:

  • 在 Opera < 10.50 中,InsertDeleteHomeEnd
  • 在最近版本的 Konqueror 中用于非字符键。

第一个问题的解决方法有点复杂,还需要使用 keydown 事件。

关于JavaScript KeyCode 与 CharCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4285627/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com