按键事件按键标识:.keyCode 与 .which
在处理按键事件时,开发人员经常面临使用 .keyCode 和 .keyCode 之间的选择.确定击键。虽然两者都用于识别按键,但存在细微的差异和跨浏览器兼容性考虑。
历史上,.keyCode 被广泛用于检测按键,但其支持在不同浏览器之间不一致。有些使用字符的 Unicode 代码,而另一些则使用特定于平台的值。这种不一致可能会导致跨浏览器应用程序出现意外行为。
另一方面,.which 是一种更加规范化的方法。它返回一个代表密钥逻辑标识符的标准化值,无论浏览器或平台如何。但是,旧版浏览器可能不支持它。
为了解决潜在的跨浏览器问题,jQuery 通过始终使用 .which 来标准化按键行为。它将来自不同浏览器的非标准化值转换为一致的格式,使其成为跨浏览器兼容性的可靠选择。
如果使用普通 JavaScript,开发人员可以通过使用这两个属性的组合来确保浏览器兼容性,如下所示如下:
<code class="js">var key = 'which' in e ? e.which : e.keyCode;</code>
此代码检查 .which 是否在事件对象中定义;如果是这样,它就使用它的值。否则,它会回退到使用 .keyCode。
或者,可以使用更简洁的方法:
<code class="js">var key = e.which || e.keyCode || 0;</code>
此表达式通过将 .which 恢复为 0 来处理 .which 为 0 的可能性最后的值,利用 JavaScript 强大的逻辑或运算符 (||)。
以上是`.keyCode` 与 `.which`:哪个是最好的按键事件按键标识符?的详细内容。更多信息请关注PHP中文网其他相关文章!