本文介绍如何在 HTML textarea 元素中监听用户按键事件。通过对比原生 JavaScript 的 keyCode 属性与 jQuery 的 which 属性,解析跨浏览器兼容性处理,并演示如何获取按键字符值。
JavaScript 监听 textarea 按键事件:原生与 jQuery 实现对比
假设页面中存在一个 textarea 元素。
Java代码
代码如下:
<textarea id="text"></textarea> 通常可以定义 onKeyPress="keypress();" 事件处理函数,并编写相应的处理逻辑。
代码如下:
var keypress = function(e){
var e = e || window.event;
var k = e.keyCode;
} 此处介绍另一种基于 jQuery 的实现方式。
代码如下:
$("#text").bind("keyPress",function(event){
var k = event.which;
}); 使用 which 属性可以兼容 IE 和 Firefox 浏览器,无论按下的是单一按键还是组合键,其返回值均一致(例如值为 107)。
随后调用 String.fromCharCode(k) 即可获取按下的字符值。